看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢: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