美文网首页
R语言基础教程 | 循环结构

R语言基础教程 | 循环结构

作者: 生信师姐 | 来源:发表于2021-06-17 08:58 被阅读0次

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

    转自:https://mp.weixin.qq.com/s?__biz=MzA4NDAzODkzMA==&mid=2651263715&idx=2&sn=a4bff42d3e82dfdd94863a73b47d26db&chksm=841ef69eb3697f88ac50a1d8eddc7bc220c33531b91cada977fbcbade6e6d7e34b0c2c4c5c9e&token=1937437307&lang=zh_CN&scene=21#wechat_redirect

    相关文章

      网友评论

          本文标题:R语言基础教程 | 循环结构

          本文链接:https://www.haomeiwen.com/subject/yfpqyltx.html