循环语句是指在一定条件下,反复执行相同的语句。这里的条件是循环条件,相同的语句是循环体。
在R语言中,循环语句主要有for循环、while循环和repeat循环三种。
本文首先介绍一下for循环的使用,在接下来的两篇文章中探讨while循环和repeat循环的使用。
for循环的与法格式为:
for(var in seq)
{
expr
}
其中,var为循环变量;seq为向量表达式,通常是一个序列。
其执行过程是,每次从序列seq中取一个值放到var中,在循环体expr中进行使用。
举例1:输出序列的值
for(n in 1:10)
print(n)
此例输出结果:[1] 1 2 3 4 5 6 7 8 9 10
举例2:求1~100之间所有数的和
sum <- 0
for(i in 1:100)
sum = sum + i
print(sum)
此例是求1~100所有数的和,输出结果为:5050
举例3:求二维数组中的最大值。
x<-c(11,34,12,87,89,93,54,31,88)
ar<-array(x,c(3,3))
max<-ar[1,1]
for(i in 1:3)
for(j in 1:3)
if(ar[i,j]>max)
max = ar[i,j]
print(max)
本例输出结果为93
举例4:求Fibonacci序列的前N项
N<-20 #求前20项
vec<-NA #定义一个空向量
vec[1] = vec[2] = 1 #前两项赋值为1
for(n in 3:N) #从第3项开始循环
vec[n] = vec[n-2] + vec[n-1] #每项是前两项之和
print(vec) #输出
本例执行结果如下图所示:
新闻热点
疑难解答