R语言基础教程——第五章:循环结构

2019-08-07 08:26:09 浏览数 (1)

在编程的时候,当我们需要执行一段代码多次时就不可能重复输入该代码多次,这就有了循环编程结构。一般来说,语句按顺序执行。首先执行函数中的第一个语句,然后执行第二个语句,依此类推。无论是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"

0 人点赞