2016-10-25 1 views
0

Ich versuche, einen einfachen Bootstrap auf die Zeilen eines Datenrahmens in r. Hier ist, was ich bis jetzt aufgearbeitet habe, aber ich stoße auf eine Sackgasse.bootstrap Samples nach Zeile eines Datenrahmens in r

x1 <- c(1:5) 
x2 <- c(6:10) 
y <- runif(5) 
z <- as.data.frame(rbind(x1, x2, y)) 

trial <- 10 
avg <- rep(0, trial) 
for(i in 1:trial){ 
    ind <- sample(ncol(z), size = ncol(z), replace = TRUE) 
    z.boot <- z[ind, ] 
    mean[i] <- mean(z.boot) 
} 
mean 

Idealer, was würde ich tun möchte, ist einen Bootstrap-gewichteter Mittelwert für die erste und zweite Reihe mit den Gewicht in der dritten Reihe zu bekommen, aber ich kann nicht einmal meine Schleife zu arbeiten. Es muss einen besseren Weg geben, dies zu tun. Jede Hilfe ist

geschätzt
+0

Sie Probe von 'ncol (z) ', aber dann Sie Teilmenge für Zeile. Sie versuchen auch, den "Mittelwert" eines 'dat.frame' zu ​​finden (der nicht definiert ist). Was versuchst du zu machen? – nicola

+0

Ich nehme an, eine andere Möglichkeit wäre, die Gewichte als Wahrscheinlichkeiten zu verwenden und nach dem Median zu suchen. Wirklich, ich versuche nur diese Technik zu lernen, wie sie auf Zeilen eines Datenrahmens angewendet wird. – mike

Antwort

0

try this ... Ich weiß nicht ganz Ihren Punkt über gewichtetes Mittel bekommen ... aber man kann es vielleicht klappen von hier:

n= seq(100, 500, 50)  
bootdata=list() 
for (i in 1:length(n)) { 
    bootdata[[i]]=data[sample(nrow(data), n[i], replace=TRUE), ] 
} 
bootdata 
str(bootdata[[1]]) 
Verwandte Themen