【发布时间】:2022-01-14 10:29:03
【问题描述】:
我有一个关于加权平均值自举的问题。
根据我的数据结构,有时我想跨列引导,有时跨行引导。
在另一篇文章 (bootstrap weighted mean in R) 中,提供了以下代码来引导跨列的加权平均值:
library(boot)
samplewmean <- function(d, i, j) {
d <- d[i, ]
w <- j[i, ]
return(weighted.mean(d, w))
}
results_qsec <- boot(data= mtcars[, 7, drop = FALSE],
statistic = samplewmean,
R=10000,
j = mtcars[, 6 , drop = FALSE])
这非常有效(检查:weighted.mean(mtcars[,7], mtcars[,6])。
但是,我现在还想跨行引导,我认为下面的代码会这样做:
samplewmean2 <- function(d, i, j) {
d <- d[, i]
w <- j[, i]
return(weighted.mean(d, w))
}
results_qsec2 <- boot(data= mtcars[7, , drop = FALSE],
statistic = samplewmean2,
R=10000,
j = mtcars[6, , drop = FALSE])
很遗憾,这不起作用,我不知道应该改变什么?
非常感谢。
【问题讨论】:
-
如果您有 2 个问题,您可能应该将它们分成 2 个帖子。您可以将第二个链接返回到第一个链接作为参考,但它们都应该是独立的
标签: r for-loop bootstrapping weighted-average