Próbkowanie warstwowe w r (z przykładami)


Naukowcy często pobierają próbki z populacji i wykorzystują dane z próbki do wyciągania wniosków na temat populacji jako całości.

Powszechnie stosowaną metodą doboru próby jest dobór losowy warstwowy , w którym populację dzieli się na grupy, a z każdej grupy wybiera się losowo określoną liczbę członków do włączenia do próby.

W tym samouczku wyjaśniono, jak przeprowadzić losowe próbkowanie warstwowe w języku R.

Przykład: próbkowanie warstwowe w R

W szkole średniej uczy się 400 uczniów, którzy są studentami pierwszego, drugiego roku, juniora lub seniora. Załóżmy, że chcemy wybrać próbę warstwową składającą się z 40 uczniów, tak aby w próbie znalazło się 10 uczniów z każdej klasy.

Poniższy kod pokazuje, jak wygenerować przykładową ramkę danych obejmującą 400 uczniów:

 #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

Próbkowanie warstwowe przy użyciu liczby wierszy

Poniższy kod pokazuje, jak używać funkcji group_by() i sample_n() z pakietu dplyr w celu uzyskania warstwowej próby losowej składającej się z 40 uczniów, po 10 uczniów z każdej klasy:

 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 

Próbkowanie warstwowe przy użyciu ułamka wierszy

Poniższy kod pokazuje, jak używać funkcji group_by() i sample_frac() z pakietu dplyr w celu uzyskania losowej próby warstwowej, z której losowo wybieramy 15% uczniów w każdej klasie:

 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

Dodatkowe zasoby

Rodzaje metod pobierania próbek
Próbkowanie klastrów w R
Systematyczne pobieranie próbek w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *