Bootstrap eines großen Datensatzes
Ich möchte einen großen Datensatz bootstrappen, der mehrere Spalten- und Zeilenvariablen enthält. Das Folgende ist eine vereinfachte Neuerstellung meines Datensatzes:
charDataDiff <- data.frame(c('A','B','C'), matrix(1:72, nrow=9))
colnames(charDataDiff) <- c("patchId","s380","s390","s400","s410","s420","s430","s440","s450")
Trennen Sie die Daten mitpatchId
als die Kriterien. Dadurch werden drei Listen erstellt: eine für jede Variable
idColor <- c("A", "B", "C")
(patchSpectrum <- lapply(idColor, function(idColor) charDataDiff[charDataDiff$patchId==idColor,]))
Erstellt die FunktionsampleBoot
das probierenpatchSpectrum
sampleBoot <- function(nbootstrap=2, patch=3){
return(lapply(1:nbootstrap, function(i)
{patchSpectrum[[patch]][sample(1:nrow(patchSpectrum[[patch]]),replace=TRUE),]}))}
Beispiel:
sampleBoot(5,3)
Hier stecke ich fest:
Ich muss jeden probierenpatchId
Liste zusammen mit jeder Spaltenvariablen (was mit dem obigen "sampleBoot" leicht zu bewerkstelligen ist),Nimm den Median von jedempatchId
Stichprobenlisteniteration undErstellen Sie eine neue Population der Mediane, um parametrische Parameter zu berechnen. Ich kann es manuell machen, aber das wäre dumm.