2013-10-16 34 views
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 

感謝,

+0

您好,使用隨機數生成器用於樣本數據時是有幫助的'set.seed()' –

+0

@RicardoSaporta感謝小費。 – Swethik

回答

2

看一看通過啓動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 
+0

完美..非常感謝你 – Swethik

+0

奇怪。看着'getAnywhere(print.boot)',我發現它實際上是在實時計算這些值。 – Frank