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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert