Systematische bemonstering in r (met voorbeelden)
Onderzoekers nemen vaak steekproeven uit een populatie en gebruiken de gegevens uit de steekproef om conclusies te trekken over de populatie als geheel.
Een veelgebruikte bemonsteringsmethode is systematische bemonstering , die wordt geïmplementeerd in een eenvoudig proces van twee stappen:
1. Plaats elk lid van een populatie in een bepaalde volgorde.
2. Kies een willekeurig startpunt en selecteer één lid uit n om deel uit te maken van de steekproef.
In deze tutorial wordt uitgelegd hoe u systematische bemonstering uitvoert in R.
Voorbeeld: systematische bemonstering in R
Stel dat een directeur een steekproef van 100 leerlingen wil verkrijgen van een school met in totaal 500 leerlingen. Ze kiest ervoor om systematische steekproeven te gebruiken, waarbij ze elke leerling in alfabetische volgorde plaatst op basis van hun achternaam, willekeurig een startpunt kiest en elke vijfde leerling selecteert die in de steekproef moet worden opgenomen.
De volgende code laat zien hoe u een nepdataframe maakt om mee te werken in R:
#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
En de volgende code laat zien hoe je een steekproef van 100 studenten kunt verkrijgen door middel van systematische steekproeven:
#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
Merk op dat het eerste lid in de steekproef zich in rij 3 van het oorspronkelijke gegevensframe bevond. Elk volgend lid van de steekproef bevindt zich vijf regels na het vorige lid.
En door dim() te gebruiken, kunnen we zien dat de systematische steekproef die we hebben een dataframe is van 100 rijen en 2 kolommen.
Aanvullende bronnen
Soorten bemonsteringsmethoden
Gestratificeerde bemonstering in R
Clusterbemonstering in R