## Hier simuliertes Beispiel: daten <- data.frame(Geschlecht = factor(rep(c("m", "w"), each=750)), Groesse = c(rnorm(750, 172.9, 8.3), rnorm(750, 168.7, 9.14))) gr <- daten$Groesse bootstrap <- replicate(200, mean(sample(gr, length(gr), replace=TRUE))) ## foo <- function(daten){ dat <- na.omit(daten[,c("Geschlecht", "Groesse")]) teststatistik <- mean(dat$Groesse[dat$Geschlecht=="m"]) - mean(dat$Groesse[dat$Geschlecht=="w"]) null <- replicate(20000,{ index <- sample(seq(dat$Geschlecht), length(dat$Geschlecht), replace=TRUE) gr <- sample(dat$Groesse[index]) ge <- dat$Geschlecht[index] mean(gr[ge=="m"]) - mean(gr[ge=="w"]) }) sort(null)[c(500, 19500)] } Rprof() foo(daten) Rprof(NULL) summaryRprof() ## foo1 <- function(daten){ dat <- na.omit(daten[,c("Geschlecht", "Groesse")]) dat$Geschlecht <- as.character(dat$Geschlecht) teststatistik <- mean(dat$Groesse[dat$Geschlecht=="m"]) - mean(dat$Groesse[dat$Geschlecht=="w"]) null <- replicate(20000,{ index <- sample(seq(dat$Geschlecht), length(dat$Geschlecht), replace=TRUE) gr <- sample(dat$Groesse[index]) ge <- dat$Geschlecht[index] mean(gr[ge=="m"]) - mean(gr[ge=="w"]) }) sort(null)[c(500, 19500)] } Rprof() foo1(daten) Rprof(NULL) summaryRprof() ## foo2 <- function(daten){ dat <- na.omit(daten[,c("Geschlecht", "Groesse")]) Geschlechtm <- dat$Geschlecht == "m" teststatistik <- mean(dat$Groesse[Geschlechtm]) - mean(dat$Groesse[!Geschlechtm]) n <- nrow(dat) groesse <- dat$Groesse null <- parSapply(cl, 1:20000,function(blub){ index <- sample(n, n, replace=TRUE) gr <- sample(groesse[index]) ge <- Geschlechtm[index] mean(gr[which(ge)]) - mean(gr[!ge]) }) sort(null)[c(500, 19500)] } Rprof() foo2(daten) Rprof(NULL) summaryRprof()