for (n in x) {expr}
r中最基本的是for迴圈,其中n為迴圈變數,x通常是乙個序列。n在每次迴圈時從x中順序取值,代入到後面的expr語句中進行運算。下面的例子即是以for迴圈計算30個
fibonacci
數。x <- c(1,1)
for (i in 3:30)
while (condition)
當不能確定迴圈次數時,我們需要用while迴圈語句。在condition條件為真時,執行大括號內的expr語句。下面即是以while迴圈來計算30個fibonacci數。
x <- c(1,1)
i <- 3
while (i <= 30)
條件if (conditon) else
if語句用來進行條件控制,以執行不同的語句。若condition條件為真,則執行expr1,否則執行expr2。
ifesle()
函式也能以簡潔的方式構成條件語句。下面的乙個簡單的例子是要找出100以內的質數。
x <- 1:100
y <- rep(t,100)
for (i in 3:100) else
}print(x[y])
在上面例子裡,
all()
函式的作用是判斷乙個邏輯序列是否全為真,%%的作用是返回餘數。在if/else語句中乙個容易出現的錯誤就是else沒有放在}的後面,若你執行下面的示例就會出現錯誤。
logic = 3
x<- c(2,3)
if (logic == 2)
else
show(y)
乙個例子
本例來自於"introduction to scientific programming and simulatoin using r"一書的習題。有這樣一種賭博遊戲,賭客首先將兩個骰子隨機拋擲第一次,如果點數和出現7或11,則贏得遊戲,遊戲結束。如果沒有出現7或11,賭客繼續拋擲,如果點數與第一次扔的點數一樣,則贏得遊戲,遊戲結束,如果點數為7或11則輸掉遊戲,遊戲結束。如果出現其它情況,則繼續拋擲,直到贏或者輸。用r程式設計來計算賭客贏的概率,以決定是否應該參加這個遊戲。
craps <- function() else if (current.roll == initial.roll) }}
mean(replicate(10000, craps()))
R語言之迴圈控制語句
r程式語言提供以下種類的迴圈來處理迴圈需求。單擊以下鏈結以檢查其詳細資訊。r語言的for迴圈支援任何向量 注意,是向量 無論向量是任何模式 sr.no.迴圈型別和描述 1repeat迴圈 多次執行一系列語句,並簡化管理迴圈變數的 2while迴圈 在給定條件為真時,重複語句或語句組。它在執行迴圈體之...
R語言 迴圈
迴圈語句允許我們多次執行乙個語句或一組語句 1.repeat迴圈 repeat迴圈重複執行相同的 直到滿足停止條件。repeat迴圈 v c hello loop cnt 2 repeat 2.while迴圈 while迴圈一次又一次地執行相同的 直到滿足停止條件。while迴圈的關鍵點是迴圈可能永...
R語言學習 迴圈判斷語句
迴圈 判斷 函式 函式是乙個物件,可以賦值 函式要放在呼叫函式的前面 輸入輸出 read.csv 文字檔案 csv是comma separated value的英文縮寫,其讀取逗號分隔的文字檔案。read.csv 與read.table 的區別可以看他們的預設引數值。read.table file,...