R 编程中的 While 循环用于重复执行一组语句,直到指定的表达式为 False。While 循环以表达式开始,如果表达式为 True,则会执行其中的语句。
如果指定的表达式为 False,则至少不会执行一次。这意味着此编程中的 while 循环可能会执行零次或多次。R 编程中 While 循环的语法如下所示。
While ( Expression ) {
statement 1
statement 2
………….
statement N;
# Increment or Decrements the Values
}
#This statement is from Outside of it
首先,它会检查 While 循环中的表达式。如果表达式的结果为 True,则将执行 while 循环块下的语句或语句组。如果表达式返回 False,它将跳出循环并执行 while 块外的其他语句。
R While 循环流程图
下图将展示 While 循环背后的流程图。

While 循环将在开始时检查表达式。
- 如果 While 中的表达式为 True,则执行循环内的语句。
- 接下来,我们必须在 while 循环中递增或递减值。
- 值递增后,将再次检查表达式。只要条件为 True,就会执行 while 循环内的语句。
- 如果条件为 False,它将退出迭代。
让我们通过一个 While 循环的例子来更好地理解。
R 编程 While 循环示例
此 while 循环程序允许用户输入一个整数值。使用此值,它将这些值累加到 10。
# Example
total = 0
number <- as.integer(readline(prompt="Please Enter any Value below 10: "))
while (number <= 10) {
total = total + number
number = number + 1
}
print(paste("The total Sum of Numbers is: ", total))
输出:对于这个R 编程示例,我们将输入数字 = 6。这意味着,总计 = 6 + 7 + 8 + 9 + 10 = 40

在此 while 循环的以下语句中,首先,我们声明了 total 变量并将其赋值为零。接下来,它将提示用户输入小于 10 的任何整数值,我们将用户输入的值赋给 number 变量。
total = 0 number <- as.integer(readline(prompt="Please Enter any Value below 10: "))
下一行,我们使用了 While 循环,它里面的表达式将确保给定的数字小于或等于 10。
while (number <= 10) {
total = total + number
number = number + 1
}
在此 R 示例的 while 循环中,用户输入的值为:number= 6,我们初始化 total = 0。
第一次迭代
- total = total + number
- total = 0 + 6 ==> 6
接下来,number 将增加 1(number= number + 1)。请参考R 算术运算符文章以了解此 + 符号。
第二次迭代:在 while 循环的第一次迭代中,number 和 total 的值都发生了变化,number = 7,total = 6
- total = 6 + 7 ==> 13
- 接下来,number 将增加 1。
第三次迭代:在第二次迭代中,number 和 total 的值都已更改为 number = 8,total = 13
- total = 13 + 8 ==> 21
- 接下来,number 增加了 1。
第四次迭代:在 R While 循环的第三次迭代中,number = 9,total = 21
total = 21 + 9 ==> 30
接下来,number 增加了 1
第五次迭代
在第四次迭代中,number = 10,total = 30
total = 30 + 10 ==> 40
接下来,number 增加了 1
此时 Number= 11,while 循环内的条件(number <= 10)将失败。
最后一个打印语句将打印在输出中给出的数字的总和。
print(paste("The total Sum of Numbers is: ", total))
R 编程中的无限 While 循环
如果您忘记在 while 循环中递增或递减值,代码将无限次执行,也称为无限循环。
# Infinite While Loop Example
number <- 1
while (number < 10) {
print(paste("Value from it is: ", number))
}
[1] "Value from it is: 1"
[1] "Value from it is: 1"
[1] "Value from it is: 1"
..
..
在此 while 循环示例中,number 始终为 1,并且 number 始终小于 10,因此它会无限次执行。让我们在上面的示例中将 + 运算符(number= number + 1)添加到 while 循环中。
# Infinite While Loop Example
number <- 1
while (number < 10) {
print(paste("Number from the While Loop is: ", number))
number = number + 1
}
当它达到 10 时,条件(number < 10)将失败。让我们看看示例的输出。
