Systematyczne próbkowanie 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ą pobierania próbek jest systematyczne pobieranie próbek , które realizuje się w prostym dwuetapowym procesie:

1. Ułóż każdego członka populacji w określonej kolejności.

2. Wybierz losowy punkt początkowy i wybierz jednego członka spośród n, który będzie częścią próby.

W tym samouczku wyjaśniono, jak przeprowadzać systematyczne próbkowanie w języku R.

Przykład: systematyczne pobieranie próbek w R

Załóżmy, że dyrektor chce pobrać próbę składającą się ze 100 uczniów ze szkoły, w której uczy się ogółem 500 uczniów. Decyduje się zastosować dobór systematyczny, w którym umieszcza każdego ucznia w kolejności alfabetycznej na podstawie jego nazwiska, losowo wybiera punkt wyjścia i wybiera co piątego ucznia do próby.

Poniższy kod pokazuje, jak utworzyć fałszywą ramkę danych do pracy w 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

Poniższy kod pokazuje, jak uzyskać próbę 100 uczniów poprzez systematyczne pobieranie próbek:

 #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

Należy zauważyć, że pierwszy element zawarty w próbie znajdował się w wierszu 3 oryginalnej ramki danych. Każdy kolejny element próbki znajduje się 5 linii po poprzednim elemencie.

Używając dim() możemy zobaczyć, że otrzymaną próbkę systematyczną stanowi ramka danych składająca się ze 100 wierszy i 2 kolumn.

Dodatkowe zasoby

Rodzaje metod pobierania próbek
Próbkowanie warstwowe w R
Próbkowanie klastrów w R

Dodaj komentarz

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