Geschichtete probenahme in r (mit beispielen)
Forscher entnehmen häufig Stichproben aus einer Population und nutzen die Daten aus der Stichprobe, um Rückschlüsse auf die Population als Ganzes zu ziehen.
Eine häufig verwendete Stichprobenmethode ist die geschichtete Zufallsstichprobe , bei der eine Population in Gruppen aufgeteilt wird und eine bestimmte Anzahl von Mitgliedern aus jeder Gruppe zufällig für die Aufnahme in die Stichprobe ausgewählt wird.
In diesem Tutorial wird erklärt, wie man eine geschichtete Zufallsstichprobe in R durchführt.
Beispiel: Geschichtete Probenahme in R
Eine High School besteht aus 400 Schülern, die entweder Erstsemester, Zweitsemester, Junior oder Senior sind. Angenommen, wir möchten eine geschichtete Stichprobe von 40 Schülern ziehen, sodass 10 Schüler aus jeder Jahrgangsstufe in die Stichprobe einbezogen werden.
Der folgende Code zeigt, wie ein Beispieldatenrahmen von 400 Schülern generiert wird:
#make this example reproducible set.seed(1) #create data frame df <- data.frame(grade = rep(c('Freshman', 'Sophomore', 'Junior', 'Senior'), each =100), gpa = rnorm(400, mean=85, sd=3)) #view first six rows of data frame head(df) gpa grade 1 Freshman 83.12064 2 Freshman 85.55093 3 Freshman 82.49311 4 Freshman 89.78584 5 Freshman 85.98852 6 Freshman 82.53859
Geschichtete Stichprobenziehung anhand der Zeilenanzahl
Der folgende Code zeigt, wie Sie die Funktionen „group_by()“ und „sample_n()“ aus dem dplyr- Paket verwenden, um eine geschichtete Zufallsstichprobe von insgesamt 40 Schülern mit 10 Schülern aus jeder Klasse zu erhalten:
library (dplyr) #obtain laminated sample strat_sample <- df %>% group_by (grade) %>% sample_n (size=10) #find frequency of students from each grade table(strat_sample$grade) Freshman Junior Senior Sophomore 10 10 10 10
Geschichtete Probenahme unter Verwendung eines Bruchteils von Zeilen
Der folgende Code zeigt, wie man die Funktionen „group_by()“ und „sample_frac()“ aus dem dplyr- Paket verwendet, um eine geschichtete Zufallsstichprobe zu erhalten, aus der wir zufällig 15 % der Schüler jeder Klasse auswählen:
library (dplyr) #obtain laminated sample strat_sample <- df %>% group_by (grade) %>% sample_frac (size=.15) #find frequency of students from each grade table(strat_sample$grade) Freshman Junior Senior Sophomore 15 15 15 15
Zusätzliche Ressourcen
Arten von Stichprobenmethoden
Cluster-Sampling in R
Systematische Probenahme in R