R语言while循环
R中的while循环类似于任何其他编程语言中的while循环。它重复特定的代码块,直到不再满足条件为止。
while循环基本语法:
while (条件句) {
执行语句
}
while循环的执行可解释为分如下两个步骤:
- 首先进行条件句求值,并且仅当它为TRUE时,循环进入执行语句。
- 循环内的执行语句被执行,控制流返回再次评估条件。
循环重复执行直到条件句结果为FALSE,一旦条件句结果保持为FALSE,则退出while循环。
R中简单while循环示例:
# while loop in R
i 1
while (i <=6) {
print(i*i)
i = i+1
}
# output
[1] 1
[1] 4
[1] 9
[1] 16
[1] 25
[1] 36
同样可将结果以向量形式存储:
x i 1
while (i <=6) {
x[i] = i*i
i = i+1
}
x
# output
[1] 1 4 9 16 25 36
R中while循环与break语句示例:
一旦执行到break语句条件句为TRUE时,将立即终止循环。
# R while loop with break statement
i 1
while (i <= 6) {
if (i == 4)
break; # 分号并非必需
print(i*i)
i = i+1
}
# output
[1] 1
[1] 4
[1] 9
一旦值达到i == 4
,则break语句终止循环,所以只输出1到3的平方。
R中while循环与next语句示例:
next语句将跳过循环的一个步骤。一旦读取next语句,则跳过while循环一次。
# while loop in R with next statement
i 1
while (i <= 6) {
if (i==4)
{
i=i+1
next;
}
print(i*i);
i = i+1;
}
# output
[1] 1
[1] 4
[1] 9
[1] 25
[1] 36
如果将结果以向量存储:
x i 1
while (i <= 6) {
if (i==4)
{
i=i+1
next;
}
x[i] = i*i;
i = i+1;
}
x
# output
[1] 1 4 9 NA 25 36
可以看到,跳过的位置产生一个缺失值“NA”。
撰写过程加入了我的理解和补充。英文原文请点击“阅读原文”。