[問題] 函數boot.ci的問題?

作者: phil5566 (5566)   2016-12-21 18:03:27
[問題類型]:
程式諮詢:boot這個package裡的boot.ci這個function如何一次
產生多個參數的confidence intervals
[軟體熟悉度]:
新手(沒寫過程式)
[問題敘述]:
由於程式碼太長,因此只附上關鍵部分的問題,
我先用boot()這個function把data T bootstrap 100次
並且把每bootstrap一次的結果執行
自定函數"theta.boot"這個運算
再用boot.ci()這個function對boot.obj(boot()這個function輸出的結果)
運算出"basic", "norm", "perc"三種類型的confidence intervals
程式碼如下:
boot.obj <- boot(T, statistic = theta.boot, R = 100)
boot.ci(boot.out = boot.obj, type = c("basic", "norm", "perc"))
結果如下:
Bootstrap Statistics :
original bias std. error
t1* -0.0972177 -0.03674216 0.1914715
t2* 1.3326862 0.02823161 0.7443144
t3* 4.8126388 0.11100370 0.3723238
t4* 1.0862814 -0.04447950 0.1474000
t5* 4.7145885 0.04016033 0.2725067
Intervals :
Level Normal Basic Percentile
95% (-0.4358, 0.3148 ) (-0.3816, 0.1833 ) (-0.3777, 0.1871 )
問題點就是:
算confidence intervals怎麼只輸出t1那一列的confidence intervals
t2,t3,t4,t5的confidence intervals到底要怎麼產生?
求高手解救,謝謝!
[程式範例]:
http://codepad.org/aKtpe7FB
[環境敘述]:
win7,
R x64 3.3.1,
"boot"package
[關鍵字]:
boot,boot.ci
作者: andrew43 (討厭有好心推文後刪文者)   2016-12-21 21:24:00
直接把boot.obj$t拿出來做,例如apply(boot.out$t, 2, quantile, c(0.025, 0.975))
作者: phil5566 (5566)   2016-12-23 19:33:00
謝謝a大,試過您提供的方法,有成功,又學到一招,感謝不知道是不是boot.ci這個函數一次只能算第一列的C.I,還是要作什麼調整之後,第二列2~第5列的C.I也可以計算
作者: andrew43 (討厭有好心推文後刪文者)   2016-12-23 19:39:00
我也沒試出來才這樣建議你的。反正最麻煩的部分boot()已經幫你做完了,要採用那種分數都只是簡單的運算,自己寫在apply裡即可。
作者: phil5566 (5566)   2016-12-23 19:51:00
了解了,感謝

Links booklink

Contact Us: admin [ a t ] ucptt.com