R의 체계적 샘플링(예제 포함)


연구자들은 종종 모집단에서 표본을 채취하고 표본의 데이터를 사용하여 모집단 전체에 대한 결론을 도출합니다.

일반적으로 사용되는 샘플링 방법은 체계적인 샘플링 으로, 간단한 2단계 프로세스로 구현됩니다.

1. 모집단의 각 구성원을 특정 순서로 배치합니다.

2. 임의의 시작점을 선택하고 n개 하나를 표본의 일부로 선택합니다.

이 튜토리얼에서는 R에서 체계적인 샘플링을 수행하는 방법을 설명합니다.

예: R의 체계적 샘플링

교장은 총 학생 수가 500명인 학교에서 학생 100명의 표본을 얻고자 한다고 가정합니다. 그녀는 각 학생을 성을 기준으로 알파벳 순서로 배치하고 무작위로 시작점을 선택한 다음 표본에 포함될 매 5번째 학생을 선택하는 체계적 표본 추출을 사용하기로 선택했습니다.

다음 코드는 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의 클러스터 샘플링

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다