Estruturas de repetição em R – laços while e for

Estruturas de Repetição em R

Frequentemente é preciso repetir um trecho de um script diversas vezes. Nesse caso podemos usar uma estrutura de “loop” (ou laço), que permite realizar essa repetição de trechos de código quantas vezes forem necessárias, sem precisar repetir o código em si no script.

Os loops são chamados também de estruturas de repetição. Nesta lição estudaremos dois tipos de estruturas de repetição em R: os laços While e For.

Estrutura de repetição While em R

A estrutura while realiza um teste lógico no início do loop, e cada vez que esse teste retorna o valor verdadeiro, os comandos associados ao laço são executados.

Quando o teste retornar o valor falso, o laço é interrompido e o loop termina.

Sintaxe

while(teste) {
  comandos
}

Exemplo:

x <- 1
while(x <= 10) {
  print(x)
  x <- x + 1
}

Estrutura de repetição while em linguagem R

Estrutura de repetição For em R

A estrutura de repetição for permite criar loops para casos onde sabemos de antemão o número de repetições que devem ser realizadas.

Por exemplo, se soubermos previamente que o código deve se repetir 10 vezes, podemos usar o laço for.

Sintaxe

for (variável in vetor_números) {
  comandos
}

Exemplo

for (i in 1:10) {
  print(i)
}

Estrutura de repetição for em linguagem R

Obs.: a estrutura 1:10 representa um vetor de números, contendo os números inteiros de 1 até 10. Podemos visualizar seu conteúdo assim no console:

> (1:10)

Vector em linguagem R

Estudaremos os vetores com detalhes em lições posteriores.

Anterior: Decisão Condicional com if / else em R

 

Sobre Fábio dos Reis (1223 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

Escreva um comentário

Seu e-mail não será divulgado


*