for在其他编程语言中是一种循环语句,即在一定条件下,反复执行相同的语句。在R语言中也不例外。
for循环的与法格式为:
for(var in seq) { expr }
其中,var为循环变量;seq为向量表达式,通常是一个序列。
其执行过程为,每次从seq中取一个值放入var中,并在循环体expr中进行使用。
简单例子:输出对象中的值
for(n in 1:10)
print(n)
求1~100所有数的和
这个例子很经典是不是,很多编程语言在讲循环时都用到了这个例子,让我们看看在R中如何实现。
sum
for(i in 1:100)
sum = sum + i #每次将i加到和里
print(sum) #输出
此例是求1~100之间所有整数的和,结果为:5050
求二维数组/矩阵中的最大值。
求数组中的最大值,在很多编程语言中,在讲数组时也是经常用到的例子。本例直接演示的是二维,你也可以运用到一维的情景或推广到更多维。
x
ar
max
for(i in 1:3) #循环行
for(j in 1:3) #循环列
if(ar[i,j]>max)
max = ar[i,j]
print(max) #输出
本例输出结果为93
求Fibonacci序列的前N项
这个例子也很经典,在学二维数组时经常用到的例子,小编竟然是在学习C语言时才知道的这个数列。
N
vec
vec[1] = vec[2] = 1 #前两项赋值为1
for(n in 3:N) #从第3项开始循环
vec[n] = vec[n-2] + vec[n-1] #每项是前两项之和
print(vec) #输出
结果如下图:
还有没有更多经典的例子,请留言告诉我,我会免费给出R语言中实现的代码。
欢迎关注本号,本号将持续更新R语言方面的文章,内容由浅入深,由基本语法到数据分析应用。希望你能喜欢。