2013-03-28 59 views
-1

我正在嘗試創建一個for循環,其中p將選擇兩個數字中的任意一個。從兩個數字中選擇一個數字。 R

E.g:

for (p in 0:runif (1, 0, 1)) 
{ 
    if (p == 0.8) 
    { 
     all.wells[[i]]$state.names == "C" 
    } 
    if (p == 0.2) 
    { 
     all.wells[[i]]$state.names == "A" 
    } 
} 

僅有的兩個可能的評價值是0.2和0.8。

我很確定上述循環很耗時。

+0

這個循環肯定不是很耗時間。這幾乎絕對不是你想要的...... – Dason

+0

Is @ Matthew的回答是你想要的,即樣本「C」和「A」的概率分別爲「0.8」和「0.2」?否則,你需要在你的問題中更清楚。 –

+0

對不起,我的意思不是很長,但錯誤和耗時,因爲它只是大循環內的一個小循環。所以它經歷了很長時間的大循環,直到它遇到0.8或0.2 anywyas謝謝你的答案。我很感激。 – user2206363

回答

6

你的意思是你想要「C」的概率是0.8,而「A」的概率是2?如果是這樣的話:

N <- 100 # nrow all.wells? 
sample(c("C", "A"), N, prob=c(.8, .2), replace=TRUE) 
+0

我一直在尋找可以從列表中選出.8或.2的東西。 – user2206363

+0

我找不出來,所以我想出了: (p在runif(1,0,1)) {if(p <= 0.2){ p = 0.2} else {p = 0.8 } 但現在它給了我錯誤,說在else語句中有意想不到的「=」符號。 – user2206363

相關問題