3

長いデータのグループごとにブートストラップ統計を取得したい。

以下の表の形式で出力からブートストラップ統計 (平均値と標準誤差) を抽出する簡単な方法はありますか?

    data <- data.frame(list(value = runif(300), group = factor(letters[1:4])))
    stat <- function(x, i)  c(m1 = mean(x$value[i]))
    library(plyr);library(boot)
    aa=dlply( data, .(group), function( dat ) boot(dat, stat, R=10) )


group| mean| std.error
a    |0.51 |0.035
b    |0.56 |0.046
c    |0.52 |0.034
d    |0.61 |0.017

ありがとう、

4

1 に答える 1

2

boot によって返されたオブジェクトstr(aa[[1]])を確認すると、関連する統計を抽出する方法がわかります。

ldply(aa, .fun=function(x) data.frame(mean = mean(x$t), 
                                      std.err = sd(x$t)))
  group      mean     std.err
1     a 0.5309598 0.04168062
2     b 0.5194311 0.02583568
3     c 0.5064817 0.02791644
4     d 0.4512118 0.03417612
于 2013-10-16T13:33:27.463 に答える