我需要引导我的“自动” lapply
t.test
函数来计算Bootstrap统计信息(原始,偏差和标准错误),这是我已经获得的基本t.test
代码远(无引导):
# create data
val<-runif(60, min = 0, max = 100)
distance<-floor(runif(60, min=1, max=3))
phase<-rep(c("a", "b", "c"), 20)
color<-rep(c("red", "blue","green","yellow","purple"), 12)
df<-data.frame(val, distance, phase, color)
# run function to obtain t.tests
lapply(split(df, list(df$color, df$phase)), function(d) {
tryCatch({ t.test(val ~ distance, var.equal=FALSE, data=d) },
error = function(e) NA)
})
哪个效果很好。但是,我不确定如何将引导方法合并到此apply函数中。
答案 0 :(得分:0)
也许您想要的东西如下所示。请注意,返回值是"htest"
类的对象列表的列表(属于列表)或NA
。
boot_fun <- function(DF){
n <- nrow(DF)
i <- sample(n, n, TRUE)
df <- DF[i, ]
lapply(split(df, list(df$color, df$phase)), function(d) {
tryCatch({ t.test(val ~ distance, var.equal=FALSE, data=d) },
error = function(e) NA)
})
}
set.seed(1234)
R <- 10
result <- lapply(seq_len(R), function(i) boot_fun(df))