美文网首页
R语言流程控制

R语言流程控制

作者: 大数据技术派 | 来源:发表于2019-03-10 22:50 被阅读0次

    都知道R语言是向量式编程,可是有时候确实需要用到循环语句,这里就介绍R语言里面的主要循环——for循环。

    与其它语言的for循环一样,R的for循环可以嵌套for循环或者其它循环。

    单循环

    > a <- c(1:100)

    > for(i in 1:length(a)){s <- s + a[i]}

    > print(s)

    [1] 5150

    写一个循环嵌套

    s <- 0

    for(i in 1:100)

    {

        for(j in 1:100)

        s <- s+j

    }

    print(s)

    [1] 505000

    当然了,R语言这种循环是非常浪费时间的,我们来做一个实验:

    Sys.time()

    a <- c(1:1e7)

    s <- 0

    for(i in 1:length(a)){s <- s + a[i]}

    Sys.time()

    sum(as.numeric(a))

    Sys.time()

    [1] "2017-05-24 23:30:41 CST"

    [1] "2017-05-24 23:30:48 CST"

    [1] "2017-05-24 23:30:48 CST"

    可以看出,用for循环的方式计算这个向量和用了足足7秒,而用调用sun()这个内置函数几乎是在瞬间完成,只用了0秒。

    R语言的for循环是在有需要的时候才用的,用法与其它语言比如C语言一样,它是非常浪费时间的,如果能用自带函数解决就不要用循环。

    当然了,与其它语言一样,R语言的循环还有while、switch等,用法与其它语言类似,这里就不再赘述了。

    相关文章

      网友评论

          本文标题:R语言流程控制

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