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語言方面的文章,內容由淺入深,由基本語法到數據分析應用。希望你能喜歡。