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