Loops no R

Reescrever o seu código muitas vezes por precisar de repetições seria bastante trabalhoso, além de precisarmos de mais tempo para isso. Por isso, o R tem algumas funções que fazem essas repetições para nós. Aqui vamos falar das funções for ()while () e repeat. Além de fazerem repetições de código, eles possuem a estrutura parecida na forma de escrever: nas três funções, os comandos a serem repetidos devem vir após as mesmas e entre chaves.

for()

Função que repete o código seguinte para o comprimento da sequência indicada entre parênteses.

Sintaxe:

for (variável in sequência) {

     comandos a serem repetidos

}

Exemplo:

for (i in 1:10) {

print (i)

}

while()

A tradução desta função nos ajuda a entendê-la mais: while significa enquanto. Então podemos ler essa função como: Enquanto alguma condição for verdadeira, o código abaixo será repetido.

Sintaxe:

while (condição){

     comandos a serem repetidos

}

Exemplo:

a=1

while (a <=10 )  {

print (a)

a=a+1

}

Note que os dois últimos exemplos resultam na mesma coisa: o R vai retornar os números de 1 a 10 em sequência. Porém nós precisamos mudar o valor de a para que a sequência continue no caso do while ()  enquanto no for () a sequência progride sem precisarmos fazer isso manualmente. Além disso, ao usar while () precisamos declarar a variável antes para que o R possa testar a condição expressa dentro dos parênteses.

repeat

Usando este comando, o R repetirá o código a seguir sem condições. Com isso, precisamos de mais uma função para mostrar ao programa quando deve parar de repetir o código. A função que faz isso é break (). Como sempre existe uma condição a ser satisfeita para o código continuar a ser repetido ou parar, então devemos também usar a função if ().

Sintaxe:

repeat {

    Comandos a serem repetidos

if (Condição para que a repetição pare) break()

}

Exemplo:

j=1

repeat {

     print (j)

j=j+1

if (j > 10) break()

}

Neste exemplo obtivemos o mesmo resultado dos anteriores. Note que com o repeat, além de termos que ir aumentando o valor da variável manualmente, também precisamos especificar qual a condição para que o loop pare de ser realizado. Assim como quando usamos while (), aqui também precisamos declarar a variável antes.

 

Fonte: Institute for Integrative Genome Biology

 

 

 

Comments

comments

Esta entrada foi publicada em Estruturas de controle e marcada com a tag , , , , . Adicione o link permanente aos seus favoritos.

Uma resposta para Loops no R

  1. Pingback: Criando funções no R | Estatística é com R!

Deixe uma resposta