在一個EdX R統計類中,我們被要求查看一個'6'在一組100卷中滾動的時間比例。然後我們被要求滾動100次骰子10,000次,以查看100次模切輥的平均差異的標準偏差。使用replicate()滾動100次骰子10,000次;意想不到的結果
100-模具輥的結果如預期;大約0.1703左右(1/6 = 0.1666667)
但是當我加載replicate()拋出100個骰子10,000次,看到10000個手段,結果不是我所期望的。我沒有看到一個,z分數= 2的範圍之外的任何值:
set.seed(1)
# get mean of 100 dice rolls
mean100dice <- function(){
n=100
x <- replicate(n, sample(1:6, n, replace=TRUE), simplify='vector')
mean(x==6)
}
mean100dice() #these come out as expected
means10k <- replicate(10000, mean100dice(),simplify='vector')
p = 1/6
z = (means10k - p)/sqrt(p*(1-p)/n)
mean(z > 2) ## I expect this to be > 0
range(means10k) ## sanity check
> mean(z > 2)
[1] 0
> range(means10k)
[1] 0.1522 0.1806
您的代碼沒有在函數「mean100dice」之外定義'n',但您在z的定義中使用它。 n有什麼價值?請實際測試它的價值。 – G5W
我認爲這是(n值)。意思是(z> 2)現在0.0227 – cumin