作者phil5566 (5566)
看板R_Language
標題[問題] 函數boot.ci的問題?
時間Wed Dec 21 18:03:27 2016
[問題類型]:
程式諮詢: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
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.74.231
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1482314610.A.408.html
→ andrew43: 直接把boot.obj$t拿出來做,例如 12/21 21:24
→ andrew43: apply(boot.out$t, 2, quantile, c(0.025, 0.975)) 12/21 21:24
→ phil5566: 謝謝a大,試過您提供的方法,有成功,又學到一招,感謝 12/23 19:33
→ phil5566: 不知道是不是boot.ci這個函數一次只能算第一列的C.I,還 12/23 19:36
→ phil5566: 是要作什麼調整之後,第二列2~第5列的C.I也可以計算 12/23 19:38
→ andrew43: 我也沒試出來才這樣建議你的。 12/23 19:39
推 andrew43: 反正最麻煩的部分boot()已經幫你做完了,要採用那種分 12/23 19:42
推 andrew43: 數都只是簡單的運算,自己寫在apply裡即可。 12/23 19:42
→ phil5566: 了解了,感謝 12/23 19:51