《R語言入門與實踐》第九章:循環
阿新 • • 發佈:2019-05-07
命令 結果 入門 不定 循環函數 var 期望 bre grid
在本章,作者以兩個骰子之和的期望值導入,為了進行以下的步驟:
- 得到所有可能出現的事件
- 計算出每一種事件響應的概率
- 將事件的值和響應概率的值相乘積和.
需要采取以下辦法:
- 一開始使用的是 expand.grid() 函數實現組合的循環定義,
- 同時借助自定義的 prob[]查找表得到相應的數值,
- 最後引出函數的重復需要借助循環語句,即 for, while, repeat 來進行計算.
expand.grid() 函數
格式:
(投擲兩次骰子,得到的所有組合的結果)
die <- c(1,2,3,4,5,6)
expand.grid(die, die)
可選參數
stringAsFactors = FALSE
定義:避免將所有可能的組合以因子的形式儲存在數據框中
功能:
計算出 n 個向量元素的所有組合.
查找表
格式:
prob <- c("1" = 1/6, "2" = 1/6,"3" = 1/6,"4" = 1/6,"5" = 1/6,"6" = 1/6)
使用查找表:
prob[rolls$Var1]
功能:
參數為一個向量,使用 [] 的形式,得到每一個值映射的值.
for 循環
格式:
for (value in object){
[chunk]
}
註意:
- in 後跟的是一個 object,其可以是字符串向量,或其他向量(包括整數的序列,如 1:100)
- chunk 中的賦值語句將改變原來向量中的值
功能
用於執行特定的次數,重復執行 chunk 中的語句
while 循環
格式:
while(cash > 0){
n <- n+ 1
}
功能:
用於執行不定次數的叠代過程
repeat 循環
格式
repeat{
[chunk]
}
if(condition){
break}
}
功能:
初級的循環函數,當遇到 break 命令時跳出循環.
《R語言入門與實踐》第九章:循環