대표적 표본추출 방법 — 코드 실습

← BitStat2 Live 홈

모집단 전체를 조사할 수 없을 때 표본을 뽑는 대표적인 방법 네 가지 — 단순임의추출, 층화추출, 군집추출, 다단계추출 — 를 R 코드로 직접 실행하며 비교합니다.

1. 단순임의추출 (Simple Random Sampling)

모집단의 모든 단위가 같은 확률 \(n/N\) 로 뽑히는 가장 기본적인 방법입니다. 어떤 점이 표본으로 뽑혔는지 시각적으로 확인해 보세요.

2. 층화추출 vs 군집추출

층화추출은 모집단을 동질적인 층(strata)으로 나눈 뒤 모든 층에서 표본을 뽑고, 군집추출은 이질적인 군집(cluster) 중 일부 군집만 뽑아 그 안을 전부 조사합니다. iris의 품종(Species)을 층으로 삼아 비교해 봅시다.

다단계추출은 두 방법의 결합입니다: 먼저 군집을 뽑고(1단계), 뽑힌 군집 안에서 다시 임의추출합니다(2단계). 위 셀 마지막에 |> group_by(군집) |> slice_sample(n = 10) 을 이어 붙여 직접 만들어 보세요.

3. 연습 — 층화추출 완성하기

품종별로 n_per 송이씩 뽑는 층화추출 코드입니다. 빈칸을 채워 층화표본의 전체 크기를 구하세요. (층이 3개이므로 결과는 \(3 \times n_{per}\) 이어야 합니다.)

slice_sample(n = ...)은 각 층(그룹)에서 뽑을 개수를 받습니다. 층별 표본 크기는 이미 n_per에 저장되어 있습니다.

strat_sample <- iris |>
  group_by(Species) |>
  slice_sample(n = n_per) |>
  ungroup()
nrow(strat_sample)   # 3 * 10 = 30

4. 연습 — 단순임의추출의 표본 크기

모집단 크기 N에서 n개를 비복원 추출하는 단순임의추출입니다. 빈칸을 채워 표본 인덱스를 만들고 그 길이를 확인하세요.

sample(x, size)size가 표본 크기입니다. 이미 정의된 변수 n을 그대로 쓰면 됩니다.

idx <- sample(1:N, size = n)
length(idx)   # 50