Systematisches sampling 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 Probenahmemethode ist die systematische Probenahme , die in einem einfachen zweistufigen Prozess umgesetzt wird:
1. Ordnen Sie jedes Mitglied einer Bevölkerung in einer bestimmten Reihenfolge an.
2. Wählen Sie einen zufälligen Startpunkt und wählen Sie ein Mitglied von n aus, das Teil der Stichprobe sein soll.
In diesem Tutorial wird erläutert, wie Sie systematische Stichproben in R durchführen.
Beispiel: systematische Stichprobenziehung in R
Angenommen, ein Schulleiter möchte eine Stichprobe von 100 Schülern einer Schule mit insgesamt 500 Schülern erhalten. Sie entscheidet sich für eine systematische Stichprobe, bei der sie jeden Schüler anhand seines Nachnamens in alphabetischer Reihenfolge anordnet, einen zufälligen Ausgangspunkt wählt und jeden fünften Schüler für die Stichprobe auswählt.
Der folgende Code zeigt, wie man einen gefälschten Datenrahmen für die Arbeit in R erstellt:
#make this example reproducible set.seed(1) #create simple function to generate random last names randomNames <- function (n = 5000) { do.call(paste0, replicate(5, sample(LETTERS, n, TRUE), FALSE)) } #create data frame df <- data.frame(last_name = randomNames(500), gpa = rnorm(500, mean=82, sd=3)) #view first six rows of data frame head(df) last_name gpa 1 GONBW 82.19580 2 JRRWZ 85.10598 3 ORJFW 88.78065 4 XRYNL 85.94409 5 FMDCE 79.38993 6 XZBJC 80.49061
Und der folgende Code zeigt, wie man durch systematische Stichprobe eine Stichprobe von 100 Schülern erhält:
#define function to obtain systematic sample obtain_sys = function (N,n){ k = ceiling(N/n) r = sample(1:k, 1) seq(r, r + k*(n-1), k) } #obtain systematic sample sys_sample_df = df[obtain_sys( nrow (df), 100), ] #view first six rows of data frame head(sys_sample_df) last_name gpa 3 ORJFW 88.78065 8 RWPSB 81.96988 13 RACZU 79.21433 18 ZOHKA 80.47246 23 QJETK 87.09991 28 JTHWB 83.87300 #view dimensions of data frame dim(sys_sample_df) [1] 100 2
Beachten Sie, dass sich das erste in der Stichprobe enthaltene Mitglied in Zeile 3 des ursprünglichen Datenrahmens befand. Jedes nächste Mitglied der Stichprobe befindet sich 5 Zeilen nach dem vorherigen Mitglied.
Und mit dim() können wir sehen, dass die systematische Stichprobe, die wir erhalten haben, ein Datenrahmen mit 100 Zeilen und 2 Spalten ist.
Zusätzliche Ressourcen
Arten von Stichprobenmethoden
Geschichtete Probenahme in R
Cluster-Sampling in R