R 迴圈中的 continue

Gustavo du Mortier 2021年2月28日 2021年2月7日
R 迴圈中的 continue

當你在一個迴圈裡有很多行程式碼,並且你希望 R 在滿足某個條件時繼續下一次迭代,你可以寫一個 if 子句來評估這個條件,如果它為真,則跳過迴圈中的所有內容,繼續下一次迭代。這個跳過是用 next 指令來完成的。

一個典型的例子是,當你使用迴圈來通過一系列的資料元素,並對每一個資料元素進行一些計算,撇開那些滿足特定條件的元素。在下面的例子中,我們通過一個數字向量,對所有的數字進行乘法,除了那些 5 的倍數。

result <- 1
base <- 5
x <- c(7, 5, 3, 10, 8, 4, 11, 15, 6, 13)
for (num in x) {
    if (num %% base == 0) {
        next
    }
    result <- result * num
}
paste ('Result:', result)

輸出:

[1] 576576

請注意,結果是除 5、10 和 15 以外的所有向量數的乘積。

相關文章 - R Loop