2015-10-13 60 views
0

因此,我需要運行引導帶方法來計算總體的幾何平均值。 6次測量結果爲1,2,2,4,6,6,基於此樣本的人口幾何平均數估計值爲gm =(1 * 2 * 2 * 4 * 6 * 6)*(1/6)。我需要計算人口幾何平均數的95%置信限。自引導以估計幾何樣本的平均值

到目前爲止,我有:

set.seed(13254) 
gmsample <- c(1,2,2,4,6,6) 
gmsample 
n<- length(gmsample) 
gm.hat <- prod(gmsample) ** (1/6) 
gm.hat 

for(b in 1:B){ 
    inx.boot<- sample(1:n, replace=TRUE) 

gmboot<- gmsample[idx.boot] 
print(gmboot) 

rboot[b] <- prod(gmboot) ** (1/n) 
print(r.boot) 
       } 

boot.sd <- sd(r.boot) 
boot.sd 

我得到這個從網上收集信息,我感到非常新的與R所以任何幫助將是巨大的。

+2

那麼你的編程問題到底是什麼呢? – MrFlick

+0

這個程序不工作,我不知道爲什麼要知道爲什麼 –

+1

什麼「不工作」是什麼意思?你有錯誤嗎?不是你期待的結果?如果是後者,你期望得到什麼結果? – MrFlick

回答

0

我會建議使用啓動包而不是滾動自己的引導方法。舉例來說,幾何平均數的計算1000個引導重複功能也可以用:

gmsample <- c(1,2,2,4,6,6) 
library(boot) 
b <- boot(gmsample, function(d, i) prod(d[i])^(1/length(i)), 1000) 

現在你可以使用boot.ci方法來計算置信區間。舉例來說,如果你想使用95%百分位數的置信區間,你可以這樣做:

boot.ci(b, 0.95, "perc") 
# BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS 
# Based on 1000 bootstrap replicates 
# 
# CALL : 
# boot.ci(boot.out = b, conf = 0.95, type = "perc") 
# 
# Intervals : 
# Level  Percentile  
# 95% (1.701, 4.670) 
# Calculations and Intervals on Original Scale 

還有許多其他類型的置信區間,你可以用?boot.ci瞭解的。