Lições do módulo (2/2)
Condicionais e Loops
Para implementar algoritmos e procedimentos complexos em R, você precisa ser capaz de controlar quais instruções executar e quantas vezes repeti-las.
Declarações Condicionais
Em R, a estrutura condicional fundamental é baseada em if e else. A sintaxe é muito semelhante a linguagens como JavaScript ou C:
score <- 85
if (score >= 60) {
print("Passed!")
} else {
print("Failed.")
}Chaves {} definem os blocos de código a serem executados dependendo do resultado da expressão booleana entre parênteses.
O ciclo for
O loop for em R é usado para iterar sobre elementos em uma sequência (como um vetor ou lista).
# Print numbers from 1 to 3
for (i in 1:3) {
print(i)
}Em R, a sintaxe 1:3 é uma forma abreviada de criar o vetor c(1, 2, 3).
Também podemos fazer um loop diretamente sobre os elementos de um vetor existente:
fruits <- c("apple", "banana", "cherry")
for (fruit in fruits) {
print(fruit)
}A função ifelse
Em R, a função ifelse() é uma versão vetorizada da instrução if-else. Permite aplicar uma condição a um vetor inteiro em uma única operação, retornando um vetor de resultados.
scores <- c(55, 80, 45, 90)
# Se score >= 60 assegna "Pass", altrimenti "Fail"
results <- ifelse(scores >= 60, "Pass", "Fail")
print(results) # "Fail" "Pass" "Fail" "Pass"O ciclo while
O loop while é usado para repetir um bloco de código enquanto uma condição específica permanecer verdadeira (TRUE). É essencial garantir que a condição eventualmente se torne falsa para evitar loops infinitos.
counter <- 1
while (counter <= 3) {
print(counter)
counter <- counter + 1
}Experimente você mesmo
Escreva uma instrução condicional if-else que verifique se a pontuação da variável é maior ou igual a 60. Se for, defina o status como 'Aprovado', caso contrário, defina-o como 'Falha'.
Mostrar dica
Verifica pontuação >= 60 e status de aprovação <- 'Aprovado' ou status <- 'Reprovado'
Solução disponível após 3 tentativas
Escreva um loop for que itere sobre a sequência 1:5 e imprima cada valor usando a função print().
Mostrar dica
Usa a sintaxe: for (i in 1:5) { print(i) }
Solução disponível após 3 tentativas
Dado o vetor v, escreva um loop for que itere sobre cada elemento e imprima seu duplo (val * 2) usando print().
Mostrar dica
Faça um loop pelos elementos de v: for (val in v) { print(val * 2) }
Solução disponível após 3 tentativas
Dadas as pontuações do vetor, use a função ifelse() para verificar quais elementos são maiores ou iguais a 60. Salve o resultado (que conterá 'Aprovado' ou 'Reprovado' para cada elemento) na variável resultados.
Mostrar dica
Use a função: resultados <- ifelse(pontuações >= 60, 'Aprovado', 'Reprovado')
Solução disponível após 3 tentativas
Use um loop while para dobrar o valor de x até exceder 50. Aumente também a variável do contador a cada iteração.
Mostrar dica
Use um loop while (x <= 50) e atualize x e contador dentro das chaves.
Solução disponível após 3 tentativas