1
如果此問題很簡單,道歉。想象一下,我們有20個球的選擇概率爲0.5+1:20/50
。與binom和R中的其他方法的差異
P=0.5+1:20/50
ONE=function(M,n) {
N=1:n
m=length(M)
for(j in 1:n) {
N[j]=sum(runif(m)<M)
}
N
}
mean.1=mean(ONE(P,100000))
mean.2=mean(rbinom(100000,size=20,prob=P))
在這裏很容易看到,兩者都使用這兩種方法是平等的。但是,當我想要計算P(X < = 5),其中X是指所選擇的球的數量,一些奇怪發生了:
ONE.p=function(M,n) {
N=1:n
m=length(M)
for(j in 1:n) {
N[j]=sum(runif(m)<M)
}
sum(N<=5)/n
}
p.1=ONE.p(P,100000)
p.2=sum(rbinom(100000,size=20,prob=P)<=5)/100000
這裏,p.1
幾乎0
,但p.2
估計爲e-3
水平。使用hist()
,我們可以看到:
hist(ONE(P,100000))
hist(rbinom(100000,size=20,prob=P))
第二個更寬。我認爲這兩個提供了相同的計算。但我對結果感到困惑。任何援助表示讚賞。
從這個:'rbinom(30,10,代表(C(0, 1),每個= 5)'我有一些線索,但是我的頭腦只會傷害思想這麼久,所以這會有所幫助,但我不清楚。 – Zander