按组提取引导统计数据

3

我想针对长数据获取按组的Bootstrap统计信息。

从下面的输出中提取Bootstrap统计信息(平均值和标准误差)以表格形式呈现是否有简单方法?

    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

Thanks,


你好,当使用随机数生成器来生成样本数据时,使用set.seed()会很有帮助。 - Ricardo Saporta
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

奇怪。看着 getAnywhere(print.boot),我发现它实际上是在运行时计算这些内容的。 - Frank

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接