2013-06-13 34 views
0
rbinom(1000, size=74, prob=0.89) 

我對rbinom函數仍然有點生疏。在上面的代碼中,我產生了1000次74次試驗的觀察結果,每次試驗的成功概率= 0.89。我希望我產生的偏差小於或等於74.我如何限制rbinom函數來解決這個問題?雖然很少,但是我的代碼偏離了上面的代碼> 74,這導致我的程序出現問題。R:如何使用rbinom生成偏差

+0

你的代碼是正確的。我無法複製這個問題。 –

+0

x = rbinom(1000,size = 74,prob = 0.89),我嘗試任何(x> = 74),這有時會返回TRUE – Bonnie

+0

我試過'max(rbinom(1000000000,size = 74,prob = 0.89)並返回'74'。你應該考慮重新啓動你的R會話。 –

回答

2

你偶爾會有一些偏差等於74因此>=可能會返回TRUE。他們會從來沒有大於74,雖然因爲你只運行74次審判。改爲嘗試any(x > 74)

set.seed(5895) 
x <- rbinom(1000, size=74, prob=0.89) 
table(x >= 74) 

# FALSE TRUE 
# 999  1 

table(x > 74) 

# FALSE 
# 1000 

max(x) 
# [1] 74 

任何肯定的,我也必須要經過幾個.Random.seed的面前,我發現一個,這將使這個結果! :-)

+0

感謝您的幫助。我想我找到了導致問題的原因。 'x = rbindom(1000,size = 74,prob = 0.89)'然後我使用rnom函數'rnorm(NNN,mean = mean(x),sd = sd(x))'''rnorm'是函數那就是輸出> 74的值。有沒有辦法阻止它這樣做?或者,也許我可以在生成這些> 74個值後刪除它們。這可能也有一些幫助。 – Bonnie

+0

@Bonnie假設你將調用的輸出分配給一個名爲'x.norm'的對象,然後'x.norm [! x.norm> 74]'。 –