Como escrever um loop de repetição em r (3 exemplos)
Um loop de repetição em R pode ser usado para executar uma ação repetidamente até que uma condição de parada seja alcançada.
Você pode usar a seguinte sintaxe básica para escrever um loop de repetição em R:
repeat {
#do something
if (some condition){
break
}
}
Os exemplos a seguir mostram como usar um loop de repetição em diferentes cenários.
Exemplo 1: Imprimir valores até que um número específico seja alcançado
O código a seguir mostra como usar um loop de repetição para imprimir valores começando em 1 até chegar a 10 :
#define starting value
x <- 0
#perform repeat-loop
repeat {
x <- x+1
print (x)
if (x >= 10){
break
}
}
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
Veja como esse código funcionou:
- Definimos o valor inicial como x = 0.
- Dissemos a R para incrementar x em 1 e depois imprimir x.
- Dissemos a R para interromper o loop de repetição quando x atingisse um valor de 10 ou mais.
Exemplo 2: Adicione valores ao vetor até que um número específico seja alcançado
O código a seguir mostra como usar um loop de repetição para adicionar valores a um vetor até atingir um número específico:
#define empty vector and starting value
data <-c()
x <- 0
#perform repeat-loop
repeat {
x <- x+1
data[x] <- x
print (data)
if (x >= 5){
break
}
}
[1] 1
[1] 1 2
[1] 1 2 3
[1] 1 2 3 4
[1] 1 2 3 4 5
Veja como esse código funcionou:
- Criamos um vetor vazio e definimos o valor inicial como x = 0.
- Dissemos a R para incrementar x em 1 e, em seguida, inserir o valor de x na x-ésima posição do vetor.
- Dissemos a R para interromper o loop de repetição quando x atingisse um valor de 5 ou mais.
Exemplo 3: Altere os valores no quadro de dados até atingir um número específico
O código a seguir mostra como usar um loop de repetição para modificar os valores de um quadro de dados existente até que um número específico seja alcançado:
#define data frame and starting value
df <- data. frame (A=c(6, 7, 2, 8),
B=c(2, 4, 5, 5))
x <- 0
#perform repeat-loop
repeat {
x <- x+1
df$A[x] <- x
df$B[x] <- x * 2
if (x >= nrow(df)){
break
}
}
#view resulting data frame
df
AB
1 1 2
2 2 4
3 3 6
4 4 8
Veja como esse código funcionou:
- Criamos um quadro de dados vazio e definimos o valor inicial como x = 0.
- Dissemos a R para incrementar x em 1, depois inserir o valor de x na x-ésima posição da coluna A e inserir o valor de x*2 na x-ésima posição da coluna B.
- Dissemos a R para interromper o loop de repetição quando x atingisse um valor igual ou maior que o número de linhas no quadro de dados.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:
Como criar um loop For aninhado em R
Como escrever uma instrução If Else aninhada em R
Como iterar sobre nomes de colunas em R