Gestratificeerde 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 steekproefmethode is de gestratificeerde willekeurige steekproef , waarbij een populatie in groepen wordt verdeeld en een bepaald aantal leden uit elke groep willekeurig wordt geselecteerd om in de steekproef te worden opgenomen.

In deze zelfstudie wordt uitgelegd hoe u gestratificeerde willekeurige steekproeven uitvoert in R.

Voorbeeld: gestratificeerde bemonstering in R

Een middelbare school bestaat uit 400 studenten die eerstejaars, tweedejaars, junior of senior zijn. Stel dat we een gestratificeerde steekproef van 40 leerlingen willen nemen, zodat uit elke klas 10 leerlingen in de steekproef worden opgenomen.

De volgende code laat zien hoe u een voorbeeldgegevensframe van 400 studenten genereert:

 #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

Gestratificeerde bemonstering met behulp van rijtellingen

De volgende code laat zien hoe u de functies group_by() en sample_n() uit het dplyr- pakket kunt gebruiken om een gestratificeerde willekeurige steekproef van in totaal 40 leerlingen te verkrijgen met 10 leerlingen uit elke klas:

 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 

Gestratificeerde bemonstering met behulp van een fractie van rijen

De volgende code laat zien hoe u de functies group_by() en sample_frac() uit het dplyr- pakket kunt gebruiken om een gestratificeerde willekeurige steekproef te verkrijgen waaruit we willekeurig 15% van de leerlingen in elke klas selecteren:

 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

Aanvullende bronnen

Soorten bemonsteringsmethoden
Clusterbemonstering in R
Systematische bemonstering in R

Einen Kommentar hinzufügen

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