R의 계층화된 샘플링(예제 포함)


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

일반적으로 사용되는 샘플링 방법은 계층화 무작위 샘플링 으로, 모집단을 그룹으로 나누고 각 그룹에서 특정 수의 구성원을 무작위로 선택하여 표본에 포함시킵니다.

이 튜토리얼에서는 R에서 계층화된 무작위 샘플링을 수행하는 방법을 설명합니다.

예: R의 계층화된 샘플링

고등학교는 신입생, 2학년, 3학년, 4학년 학생 400명으로 구성됩니다. 40명의 학생으로 구성된 계층화된 표본을 추출하여 각 학년에서 10명의 학생이 표본에 포함되기를 원한다고 가정합니다.

다음 코드는 학생 400명의 샘플 데이터 프레임을 생성하는 방법을 보여줍니다.

 #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

행 개수를 사용한 계층화된 샘플링

다음 코드는 dplyr 패키지의 group_by()Sample_n() 함수를 사용하여 각 학년에서 10명의 학생으로 구성된 총 40명의 학생으로 구성된 계층화된 무작위 표본을 얻는 방법을 보여줍니다.

 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 

행의 일부를 사용한 계층화된 샘플링

다음 코드는 dplyr 패키지의 group_by()Sample_frac() 함수를 사용하여 각 학년의 학생 중 15%를 무작위로 선택하는 계층화된 무작위 표본을 얻는 방법을 보여줍니다.

 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

추가 리소스

샘플링 방법의 유형
R의 클러스터 샘플링
R의 체계적인 샘플링

의견을 추가하다

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