在编程的时候,当我们需要执行一段代码多次时就不可能重复输入该代码多次,这就有了循环编程结构。一般来说,语句按顺序执行。首先执行函数中的第一个语句,然后执行第二个语句,依此类推。无论是R还是其他编程语言,都提供了允许更复杂的执行路径的各种控制结构。同时,循环语句允许我们多次执行语句或语句组,今天,我们来看下R语言中循环语句。
R编程语言提供的几种类的循环来处理循环需求:
图片一、repeat循环
重复(repeat)循环一次又一次执行相同的代码,直到满足停止条件,来看下在R语言中创建重复(repeat)循环的基本语法:
repeat {
commands
if(condition) {
break
}
}
commands就是要重复执行的代码,condition就是给定重复条件。
示例:
bio = 1
repeat {
print("微信公众号:bioinfo_cloud")
bio = bio +1
if(bio>5) {
break
}
}
执行上面代码会有以下结果:
[1] "微信公众号:bioinfo_cloud"
[1] "微信公众号:bioinfo_cloud"
[1] "微信公众号:bioinfo_cloud"
[1] "微信公众号:bioinfo_cloud"
[1] "微信公众号:bioinfo_cloud"
二、while循环
while循环将一遍又一遍地执行相同的代码,直到满足停止条件,来看下在R语言中创建while循环的基本语法:
while (test_expression) {
statement
流程图如下:
图片while循环一个关键问题是循环可能不会运行,并且当条件被测试并且结果为假时,循环体将被跳过,并且while循环之后的第一个语句将被执行,出现这个问题,就是因为while循环首先测试条件满足了才执行循环体中的语句。来看示例:
bioinfo = c("微信公众号",":","bioinfo_cloud")
bio = 1
while(bio<5){
print(bioinfo)
bio = bio+1
}
运行上面代码的结果:
[1] "微信公众号" ":" "bioinfo_cloud"
[1] "微信公众号" ":" "bioinfo_cloud"
[1] "微信公众号" ":" "bioinfo_cloud"
[1] "微信公众号" ":" "bioinfo_cloud"
三、for循环
for循环是一种重复控制结构,可以让我们有效地编写一个需要执行特定次数的循环,来看在R语言中创建for循环的基本语法:
for (value in vector) {
statements
}
流程图如下:
图片R编程中的for循环特别灵活,因为它们不限于整数,甚至不限于输入的数字。我们可以传递字符向量,逻辑向量,列表或表达式,来看示例感受下:
> biovector = c("bio","info","cloud")
> for(x in biovector){
print(x)
}
[1] "bio"
[1] "info"
[1] "cloud"
网友评论