Stratifizierte Stichprobe in R (mit Beispielen)

Von Fabian
Kategorie: R
Lesezeit: 2 Minuten

Forscher nehmen häufig Stichproben aus einer Population und verwenden die Daten aus der Stichprobe, um Rückschlüsse auf die Gesamtpopulation zu ziehen.

Eine häufig verwendete Stichprobenmethode ist die stratifizierte Zufallsstichprobe, bei der eine Population in Gruppen aufgeteilt wird und eine bestimmte Anzahl von Mitgliedern aus jeder Gruppe zufällig ausgewählt wird, um in die Stichprobe aufgenommen zu werden.

In diesem Tutorial wird erklärt, wie eine stratifizierte Zufallsstichprobe in R durchgeführt wird.

Beispiel: stratifizierte Probenahme in R

Eine High School besteht aus 400 Schülern, die entweder Freshman, Sophomores, Juniors oder Senioren sind. Angenommen, wir möchten eine stratifizierte Stichprobe von 40 Schülern ziehen, sodass 10 Schüler aus jeder Klasse in die Stichprobe einbezogen werden.

Der folgende Code zeigt, wie ein Beispiel-Dataframe von 400 Schülern generiert wird:

#Machen Sie dieses Beispiel reproduzierbar
set.seed(1)

#Dataframe erstellen
df <- data.frame(grade = rep(c('Freshman', 'Sophomore', 'Junior', 'Senior'), each=100),
                 gpa = rnorm(400, mean=85, sd=3))

#Die ersten sechs Zeilen des Dataframes anzeigen
head(df)

     grade      gpa
1 Freshman 83.12064
2 Freshman 85.55093
3 Freshman 82.49311
4 Freshman 89.78584
5 Freshman 85.98852
6 Freshman 82.53859

stratifizierte Stichprobe anhand der Anzahl der Zeilen

Der folgende Code zeigt, wie die Funktionen group_by() und sample_n() aus dem dplyr-Paket verwendet werden, um eine stratifizierte Zufallsstichprobe von insgesamt 40 Schülern mit 10 Schülern aus jeder Klasse zu erhalten:

library(dplyr)

#stratifizierte Probe erstellen
strat_sample <- df %>%
                  group_by(grade) %>%
                  sample_n(size=10)

#Finden Sie die Häufigkeit der Schüler aus jeder Klasse
table(strat_sample$grade)

 Freshman    Junior    Senior Sophomore 
       10        10        10        10 

stratifizierte Probenahme unter Verwendung von Zeilenanteilen

Der folgende Code zeigt, wie Sie die Funktionen group_by() und sample_frac() aus dem dplyr-Paket verwenden, um eine stratifizierte Zufallsstichprobe zu erhalten, in der 15% der Schüler aus jeder Klasse zufällig ausgewählt werden:

library(dplyr)

#stratifizierte Probe erhalten
strat_sample <- df %>%
                  group_by(grade) %>%
                  sample_frac(size=.15)

#Finden Sie die Häufigkeit der Schüler aus jeder Klasse
table(strat_sample$grade)

 Freshman    Junior    Senior Sophomore 
       15        15        15        15 

Zusätzliche Ressourcen

Arten von Probenahmemethoden
Cluster-Sampling in R
Systematische Probenahme in R

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: