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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *