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
Pingback: Criando funções no R | Estatística é com R!