学习R语言的过程中,后期逐渐就会用循环语句来减少自己的重复工作。所以了解for循环,是必备技能之一。
R语言中的for循环结构是:
for (循环变量 in 序列向量){表达式1表达式2...}
要注意的是,括号里面一个是循环变量,另外一个是序列向量
下面展示一个简单的例子:
输出十个“我爱中国”的字符串
代码如下:
> a <- 1
> for (i in 1:10){print("我爱中国")}
输出的结果如下:
[1] "我爱中国"
[1] "我爱中国"
[1] "我爱中国"
[1] "我爱中国"
[1] "我爱中国"
[1] "我爱中国"
[1] "我爱中国"
[1] "我爱中国"
[1] "我爱中国"
[1] "我爱中国"
如果还想加一个需求,例如对十个数字求和,那么只需要再多加一条表达式即可:
> a <- 1
> for (i in 1:10){print("我爱中国");a <- i+a}
[1] "我爱中国"
[1] "我爱中国"
[1] "我爱中国"
[1] "我爱中国"
[1] "我爱中国"
[1] "我爱中国"
[1] "我爱中国"
[1] "我爱中国"
[1] "我爱中国"
[1] "我爱中国"
> a
[1] 56
如果希望每次循环的时候,就得出结果,那么也只需要稍微改一下代码即可:
> a <- 1
> for (i in 1:10){print("我爱中国");a <- i+a;print(a)}
[1] "我爱中国"
[1] 2
[1] "我爱中国"
[1] 4
[1] "我爱中国"
[1] 7
[1] "我爱中国"
[1] 11
[1] "我爱中国"
[1] 16
[1] "我爱中国"
[1] 22
[1] "我爱中国"
[1] 29
[1] "我爱中国"
[1] 37
[1] "我爱中国"
[1] 46
[1] "我爱中国"
[1] 56
>
为了代码看上去更加美观,一般会把后面表达式叠放,这样的形式可以去除“;”
a <- 1
for (i in 1:10){print("我爱中国")a <- a+iprint(a)
}输出结果同上面的一样:
[1] "我爱中国"
[1] 2
[1] "我爱中国"
[1] 4
[1] "我爱中国"
[1] 7
[1] "我爱中国"
[1] 11
[1] "我爱中国"
[1] 16
[1] "我爱中国"
[1] 22
[1] "我爱中国"
[1] 29
[1] "我爱中国"
[1] 37
[1] "我爱中国"
[1] 46
[1] "我爱中国"
[1] 56