循環語句是指在一定條件下,反復執行相同的語句。這里的條件是循環條件,相同的語句是循環體。
在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) #輸出
本例執行結果如下圖所示:
新聞熱點
疑難解答