繁体   English   中英

加权中值引导

[英]Weighted Median bootstrap

目前我通过使用这个获得了中位数的 95% CI

x<-rnorm(100)
        bootmed = apply(matrix(sample(x, rep=TRUE, 10^4*length(x)), nrow=10^4), 1, median)
    quantile(bootmed, c(.025, 0.975))[1]->a1
    quantile(bootmed, c(.025, 0.975))[2]->a2

现在的问题是我需要为加权中位数执行此操作。 我在matrixStats包中使用了weightedMedian函数: matrixStats::weightedMedian

所以我不仅有带数字的 x,还有带权重的 y (runif(100)) - 所以现在我计算

weightedMedian(x,runif(100))

但是上述引导程序的等效项如何?

apply()函数的...参数允许您将可选参数传递给您的函数。 或者,您也可以定义自定义函数。 假设所有行的中位数权重都相同,您的问题的答案如下所示:

x <- rnorm(100)
y <- rnorm(100)
M <- matrix(sample(x, rep=TRUE, 10^4*length(x)), nrow=10^4)

bootmed = apply(M, 1, weightedMedian, w=y)
# Or, alternatively..
bootmed = apply(M, 1, function(x) weightedMedian(x,y))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM