如何在 r 中编写重复循环(3 个示例)


R 中的重复循环可用于重复执行某个操作,直到达到停止条件。

您可以使用以下基本语法在 R 中编写重复循环:

 repeat {
  #do something

  if (some condition){
  break
  }
}

以下示例展示了如何在不同场景中使用重复循环。

示例1:打印值直到达到特定数字

以下代码展示了如何使用重复循环打印从1开始直到达到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

以下是这段代码的工作原理:

  • 我们将起始值设置为 x = 0。
  • 我们告诉 R 将 x 加 1,然后打印 x。
  • 我们告诉 R 一旦 x 达到 10 或更大的值就中断重复循环。

示例2:向向量添加值直到达到特定数字

以下代码展示了如何使用重复循环将值添加到向量中,直到达到特定数字:

 #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

以下是这段代码的工作原理:

  • 我们创建了一个空向量并将起始值设置为 x = 0。
  • 我们告诉 R 将 x 加 1,然后将 x 的值插入向量的第 x 个位置。
  • 我们告诉 R 一旦 x 达到 5 或更大的值就中断重复循环。

示例3:更改数据框中的值,直到达到特定数字

以下代码展示了如何使用重复循环来修改现有数据帧的值,直到达到特定数字:

 #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

以下是这段代码的工作原理:

  • 我们创建了一个空数据框并将起始值设置为 x = 0。
  • 我们告诉 R 将 x 加 1,然后将 x 的值插入到 A 列的第 x 个位置,并将 x*2 的值插入到 B 列的第 x 个位置。
  • 我们告诉 R 一旦 x 达到等于或大于数据帧中行数的值就中断重复循环。

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何在 R 中创建嵌套 For 循环
如何在 R 中编写嵌套的 If Else 语句
如何在 R 中迭代列名

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注