2016-05-16 9 views
0

Zur Zeit ich auf dem Median 95% CI bin zu erhalten, indem diese nungewichteten Median Bootstrap

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 

das Problem ist, dass ich dies für einen gewichteten Median tun müssen. Ich benutze die gewichtete Median-Funktion hier http://www.inside-r.org/packages/cran/matrixStats/docs/weightedMedian

so nicht, daß ich nur x mit den Zahlen, sondern auch y mit den Gewichten (runif (100)) - so dass ich jetzt berechnen

weightedMedian(x,runif(100)) 

aber wie funktioniert das Äquivalent für den oben genannten Bootstrap gehen?

+0

keine Ahnung von niemandem? – kutyw

Antwort

0

Das ... Argument der apply()-Funktion ermöglicht es Ihnen, optionale Argumente an Ihre Funktion zu übergeben. Alternativ können Sie auch eine benutzerdefinierte Funktion definieren. Unter der Annahme, dass Ihre Mediangewichte für alle Zeilen identisch sind, sieht die Antwort auf Ihre Frage wie folgt aus:

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))