Controle de fluxo e loops em R

Guia prático para condicionais e construções de loop no R

Aprenda a implementar o fluxo de controle no R usando condicionais e loops. Este tutorial aborda instruções if-else, loops for, loops while e loops repeat com exemplos práticos para ajudá-lo a criar scripts R dinâmicos.

Programação
Autor
Afiliação
Data de Publicação

10 de fevereiro de 2024

Data de Modificação

9 de maio de 2025

Palavras-chave

Fluxo de controle do R, Loops do R, if-else no R, Loop for no R, Loop while no R

Introdução

O fluxo de controle é um conceito fundamental na programação que permite direcionar a execução do seu código com base em condições. No R, dominar condicionais e construções de loop é essencial para escrever scripts dinâmicos e eficientes. Neste tutorial, você aprenderá a usar instruções if-else para tomada de decisões e vários loops (for, while e repeat) para realizar tarefas repetitivas.



Instruções condicionais

As instruções condicionais permitem que seu código execute diferentes blocos de código, dependendo se uma condição é VERDADEIRA ou FALSA.

Usando if e if-else

# Exemplo usando if e if-else
x <- 10

if (x > 5) {
  print("x is greater than 5")
} else {
  print("x is not greater than 5")
}
[1] "x is greater than 5"

Usando if, else if e else

# Determinando a categoria com base no valor de x
x <- 0

if (x > 0) {
  print("x is positive")
} else if (x < 0) {
  print("x is negative")
} else {
  print("x is zero")
}
[1] "x is zero"

Construções de loop

Os loops permitem executar um bloco de código repetidamente. O R suporta vários tipos de loops, incluindo loops for, loops while e loops repeat.

Loops for

Os loops for iteram sobre uma sequência de elementos. Eles são úteis para processar cada elemento em um vetor ou lista.

# Imprimir cada elemento de um vetor
numbers <- c(1, 2, 3, 4, 5)
for (num in numbers) {
  print(num)
}
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5

Loops while

Os loops while continuam sendo executados enquanto uma condição especificada permanecer TRUE.

Imprimindo números de 1 a 5 usando um loop while:

counter <- 1
while (counter <= 5) {
  print(counter)
  counter <- counter + 1
}
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5

Loops de repetição

Os loops de repetição executam um bloco de código indefinidamente até que uma condição de interrupção seja atendida. Eles são úteis quando o número de iterações não é conhecido antecipadamente.

Usando um loop de repetição para imprimir números até que uma condição seja atendida:

counter <- 1
repeat {
  print(counter)
  counter <- counter + 1
  if (counter > 5) {
    break
  }
}
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5

Práticas recomendadas

  • Mantenha a simplicidade: Escreva código claro e bem comentado. Use nomes de variáveis descritivos e evite condicionais ou loops aninhados excessivamente complexos.

  • Evite loops infinitos:
    Sempre certifique-se de que seu loop tenha uma condição de saída bem definida para evitar loops infinitos.

  • Vetorização:
    Lembre-se de que o R é otimizado para operações vetorizadas. Em muitos casos, você pode substituir loops por funções vetorizadas para obter melhor desempenho.

Conclusão

Dominar o fluxo de controle e os loops no R é fundamental para desenvolver scripts dinâmicos e eficientes. Ao compreender e usar construções condicionais e de loop de maneira eficaz, você pode automatizar tarefas repetitivas e lidar com a tomada de decisões em seu código. Experimente estes exemplos e aplique as melhores práticas para melhorar a clareza e o desempenho dos seus programas R.

Leitura adicional

Boa programação e aproveite para explorar o fluxo de controle e os loops no R!

Artigos relacionados

Explore mais artigos

Nota

Aqui estão mais artigos da mesma categoria para ajudá-lo a se aprofundar no tópico.

placeholder

placeholder
Nenhum item correspondente
De volta ao topo

Reuso

Citação

BibTeX
@online{kassambara2024,
  author = {Kassambara, Alboukadel},
  title = {Controle de fluxo e loops em R},
  date = {2024-02-10},
  url = {https://www.datanovia.com/pt/learn/programming/r/basics/control-flow-and-loops.html},
  langid = {pt}
}
Por favor, cite este trabalho como:
Kassambara, Alboukadel. 2024. “Controle de fluxo e loops em R.” February 10, 2024. https://www.datanovia.com/pt/learn/programming/r/basics/control-flow-and-loops.html.