# remotes::install_github("curso-r/CursoRTarefas")
library(CursoRTarefas)
CursoRTarefas::adicionar_chunk_setup() 
CursoRTarefas::adicionar_codigo_pre_tutorial(curso = "Introdução à programação com R",
                              url = "https://loja.curso-r.com/introduc-o-a-programac-o-com-r.html")

Objetos

frutas <- c("abacaxi", "banana", "melancia")

A) Crie um vetor com o nome de três frutas (abacaxi, banana, melancia) e guarde em um objeto chamado frutas.


frutas __ _(___, ___, ___)
frutas <- c(___, ___, ___)
frutas <- c("abacaxi", "banana", "melancia")
grade_this({
  if (identical(.result, .solution)) {
    pass("Parabéns! Você criou um vetor com as três frutas :)")
  }
  fail()
})

b) Utilizando uma função em R, verifique tamanho do vetor frutas:


length(_____)
length(frutas)
grade_this({
  if (identical(.result, .solution)) {
    pass("Correto! A função `length()` é usada para verificar o tamanho de um objeto. O tamanho do vetor `frutas` é 3, pois tem 3 elementos.")
  }
  fail()
})

c) Observe a saída de paste("eu gosto de", frutas) e verifique se o tamanho do vetor frutas mudou.

paste("eu gosto de", frutas)
question("O tamanho do vetor frutas mudou?",
  answer("O vetor ficou maior pois a função `paste0()` aumentou o número de elementos."),

  answer('O tamanho do vetor continua o mesmo: 3. O R aplicou a função `paste()` e "colou" a frase "eu gosto de" em cada elemento do vetor frutas. ', correct = TRUE),
  allow_retry = TRUE,
  random_answer_order = TRUE,
  correct = "Correto! Parabéns. O número de caracteres em cada elemento aumentou, porém o número de elementos continua o mesmo.",
  incorrect = "Incorreto. Tente novamente :) <br> Dica 1: Experimente clicar em `Executar código` e observar os resultados. <br> Dica 2: experimente executar `length(paste('eu gosto de', frutas))` para saber o número de elementos que o resultado contém." 
)

d) Use [] para retornar a primeira fruta do vetor frutas.


frutas[__]
frutas[1]
grade_this({
  if (identical(.result, .solution)) {
    pass('Correto! Podemos usar o os colchetes [] para obter elementos de um vetor, utilizando a posição dos mesmos.')
  }
  fail()
})

Vetores

a) Observe as duas linhas de códigos abaixo.

c(1,2,3) - 1           # código 1
c(1,2,3) - c(1,1,1)    # código 2
question("Os resultados são iguais? Porquê?",
  answer("Não são iguais. No código 1, o R subtraiu o número 1 do primeiro elemento, e não fez nada com os outros elementos: `1-1 = 0`, `2-0 = 2`, `3-0 = 3`. No caso do código 2, a subtração foi feita baseada na posição dos vetores: `1-1 = 0`, `2-1 = 1`, `3-1 = 2`."),
  answer("O código 1 gera um erro, pois não é possível subtrair vetores com tamanhos diferentes. Já no código 2 a subtração foi feita baseada na posição dos vetores: `1-1 = 0`, `2-1 = 1`, `3-1 = 2`."),
  answer("Os resultados são iguais. No caso do código 1, como foi solicitado subtrair usando vetores de tamanhos diferentes, o R reciclou o segundo elemento. No caso do código 2, a subtração foi feita baseada na posição dos vetores: `1-1 = 0`, `2-1 = 1`, `3-1 = 2`.", correct = TRUE),
  allow_retry = TRUE,
  random_answer_order = TRUE,
  correct = "Correto! Parabéns.",
  incorrect = "Incorreto. Tente novamente :) <br> Dica: Experimente clicar em `Executar código` e observar os resultados." 
)

Operadores

1) Considere o vetor booleano abaixo:

dolar_subiu <- c(1, 1, 0, 0, 1, 0, 1)
dolar_subiu <- c(1, 1, 0, 0, 1, 0, 1)
dolar_subiu

Este vetor tem informação de uma semana (7 dias) indicando se o dolar subiu (1) (ou não subiu - 0) no respectivo dia.

Interprete os resultados dos códigos abaixo:

a) Função length():

length(dolar_subiu)
question("a) O que o resultado do código significa?",
  answer("O resultado representa o número de dias da semana", correct = TRUE),
    answer("O resultado representa o número de dias em que o dólar subiu"),
      answer("O resultado representa a média do número de dias em que o dólar subiu"),
  allow_retry = TRUE,
  random_answer_order = TRUE,
  correct = "Correto! Parabéns. A função length() retorna o tamanho do vetor. O vetor 'dolar_subiu' possui 7 elementos, que representa o número de dias da semana.",
  incorrect = "Incorreto. Tente novamente :) <br> Dica: Experimente clicar em `Executar código` e observar os resultados." 
)

b) Uso de colchetes

dolar_subiu[2]
question("b) Considerando que a semana começa no domingo, o que o resultado do código significa?",
  answer("O dólar subiu na segunda-feira", correct = TRUE),
    answer("O dólar subiu na terça-feira"),
      answer("O dólar diminuiu na segunda-feira"),
        answer("O dólar diminuiu na terça-feira"),
  allow_retry = TRUE,
  random_answer_order = TRUE,
  correct = "Correto! Parabéns. Usar `dolar_subiu[2]` significa que queremos obter o segundo elemento do vetor `dolar_subiu`. O segundo elemento selecionado representa a segunda-feira, então aa segunda-feira o dolar subiu (`1`).",
  incorrect = "Incorreto. Tente novamente :) <br> Dica: Experimente clicar em `Executar código` e observar os resultados." 
)

c) Somando um vetor

sum(dolar_subiu)
question("c) O que o resultado do código significa?",
  answer("O dólar subiu em 4 dias naquela semana", correct = TRUE),
    answer("O dólar sempre sobe 4 vezes"),
      answer("O dólar diminuiu em 4 dias naquela semana"),
        answer("O dólar subiu no quarto dia da semana"),
  allow_retry = TRUE,
  random_answer_order = TRUE,
  correct = "Correto! Parabéns. A função sum() realiza a soma dos elementos do vetor. O resultado de sum(dolar_subiu) é 4, portanto o dólar subiu em 4 dias na semana.",
  incorrect = "Incorreto. Tente novamente :) <br> Dica: Experimente clicar em `Executar código` e observar os resultados." 
)

d) Média de um vetor

mean(dolar_subiu)
question("d) O que o resultado do código significa?",
  answer("A média do vetor dolar_subiu representa a média de dias em que o dólar subiu naquele conjunto de dias. O dólar subiu em média em 57% dos dias naquela semana.", correct = TRUE),
    answer("O dólar diminuiu em média em 57% dos dias naquela semana."),

      answer("O dolar subiu 57% ao longo da semana
"),
        answer("O dolar diminuiu 57% ao longo da semana
"),

  allow_retry = TRUE,
  random_answer_order = TRUE,
  correct = "Correto! Parabéns. A função mean() realiza a média dos elementos do vetor. O resultado representa a média de dias em que o dólar subiu.",
  incorrect = "Incorreto. Tente novamente :) <br> Dica: Experimente clicar em `Executar código` e observar os resultados." 
)

Enviar as respostas

Se você completou a tarefa e quer submeter, clique no botão abaixo ('Generate') para gerar o seu código hash e envie usando o formulário a seguir:

learnrhash::encoder_logic()
learnrhash::encoder_ui(ui_before = " ", ui_after = " ")
CursoRTarefas::adicionar_codigo_pos_tutorial(url_form = params$url_form)


curso-r/CursoRTarefas documentation built on Feb. 13, 2022, 3:21 p.m.