簡體   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