一、for循環語句概述
for循環語句是一種常用的循環結構語句,通常可以實現重複執行某段程序的效果。它的基本格式如下:
for (var in vec) {
expr
}
其中,var表示迭代變量,vec是一個向量,expr是需要重複執行的表達式。
下面以一個簡單的案例來介紹for循環的應用:
# 輸出1到10
for (i in 1:10) {
print(i)
}
運行上述代碼可以得到以下輸出結果:
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
二、for循環嵌套
為了實現更複雜的循環邏輯,可以使用for循環嵌套的寫法,在內部循環中再嵌套一層for循環,在一定程度上可以提高代碼的復用性和可讀性。
下面是一個簡單的嵌套案例:
# 輸出所有KMP打手的組合
vec <- c("Kuuga","Agito","Ryuki")
for (i in vec) {
for (j in vec) {
cat(i, "和",j,"搭檔!\n")
}
}
運行上述代碼可以得到以下輸出結果:
Kuuga 和 Kuuga 搭檔!
Kuuga 和 Agito 搭檔!
Kuuga 和 Ryuki 搭檔!
Agito 和 Kuuga 搭檔!
Agito 和 Agito 搭檔!
Agito 和 Ryuki 搭檔!
Ryuki 和 Kuuga 搭檔!
Ryuki 和 Agito 搭檔!
Ryuki 和 Ryuki 搭檔!
三、break和next的應用
在for循環中,有時候需要在滿足一定條件的前提下終止循環或跳過當前循環,那麼可以使用break和next結合if語句實現。
下面分別介紹這兩個函數的用法:
(1)break
# 輸出1到10的所有奇數,並在遇到5時停止循環
for (i in 1:10) {
if (i%%2 == 0) {
next
}
if (i == 5) {
break
}
print(i)
}
運行上述代碼可以得到以下輸出結果:
[1] 1
[1] 3
(2)next
# 輸出1到10的所有奇數,但跳過5
for (i in 1:10) {
if (i%%2 == 0) {
next
}
if (i == 5) {
next
}
print(i)
}
運行上述代碼可以得到以下輸出結果:
[1] 1
[1] 3
[1] 7
[1] 9
四、在for循環中修改向量的值
在for循環中,可以直接修改向量的值,這可以用於實現一些特定的操作。下面以一個簡單的案例來說明:
# 將向量中大於5的元素變為0
vec 5) {
vec[i] <- 0
}
}
print(vec)
運行上述代碼可以得到以下輸出結果:
[1] 1 4 0 2 0 0 0 3 5
五、總結
本文從for循環的概述、for循環嵌套、break和next的應用、在for循環中修改向量的值四個方面介紹了R語言for循環語句的應用。通過本文的閱讀,相信讀者已經掌握了for循環的基本用法和常用技巧。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/242130.html