如何在 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 中执行其他常见任务: