Систематическая выборка в R (с примерами)


Исследователи часто берут образцы из населения и используют данные из выборки, чтобы сделать выводы о населении в целом.

Одним из широко используемых методов выборки является систематическая выборка , которая реализуется с помощью простого двухэтапного процесса:

1. Расположите каждого члена популяции в некотором порядке.

2. Выберите случайную начальную точку и выберите каждого n -го члена для включения в выборку.

В этом руководстве объясняется, как выполнять систематическую выборку в R.

Пример: систематическая выборка в R

Предположим, суперинтендант хочет получить выборку из 100 учеников из школы, в которой всего 500 учеников. Она предпочитает использовать систематическую выборку, в которой она размещает каждого ученика в алфавитном порядке в соответствии с его фамилией, случайным образом выбирает начальную точку и выбирает каждого пятого ученика для включения в выборку.

В следующем коде показано, как создать поддельный фрейм данных для работы с 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

А следующий код показывает, как получить выборку из 100 студентов посредством систематической выборки:

#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

Обратите внимание, что первый элемент, включенный в выборку, находился в строке 3 исходного фрейма данных. Каждый последующий член в выборке расположен через 5 строк после предыдущего члена.

И с помощью dim() мы видим, что полученная нами систематическая выборка представляет собой фрейм данных со 100 строками и 2 столбцами.

Дополнительные ресурсы

Типы методов отбора проб
Стратифицированная выборка в R
Кластерная выборка в R