통계를 처음 배울 때 가장 먼저 헷갈리는 것들
통계를 처음 공부하면 비슷하게 들리는 말이 한꺼번에 나옵니다. 모집단, 표본, 표준편차, 표준오차, 신뢰구간, p-value, 귀무가설, 대립가설, t검정, ANOVA, 카이제곱검정, 비모수검정까지. 용어 하나하나를 따로 외우려고 하면 금방 지칩니다. 대신 무슨 질문에 답하려는 도구인지를 먼저 잡으면 훨씬 쉬워집니다.
이 글은 다음 질문에 답하도록 구성했습니다.
- 통계 기초 개념은 무엇이고, 왜 필요한가
- 표준편차와 표준오차는 무엇이 다른가
- p-value와 신뢰구간은 어떻게 읽어야 하는가
- 어떤 상황에서 어떤 검정을 선택해야 하는가
- R에서는 각각 어떤 함수로 검정하는가
- 정규성 가정이 불안할 때는 어떻게 대체할 수 있는가
예제는 이해가 쉬운 R 기본 데이터셋과 간단한 벡터를 중심으로 구성했습니다. 코드만 나열하지 않고, 왜 이 검정을 쓰는지, 출력에서 어디를 봐야 하는지, 실무에서 무엇을 주의해야 하는지까지 같이 설명합니다.
이 글에서 다루는 범위
| 주제 | 핵심 내용 |
|---|---|
| 통계 기초 | 모집단, 표본, 모수, 통계량, 평균, 분산, 표준편차, 표준오차 |
| 추론 통계 | 점추정, 구간추정, 신뢰구간, 표본오차 |
| 가설 검정 | 귀무가설, 대립가설, p-value, 유의수준, 1종/2종 오류 |
| 대표 검정 | t검정, Welch t검정, paired t검정, ANOVA, 카이제곱검정, Fisher 검정 |
| 비모수 검정 | Wilcoxon rank-sum, signed-rank, Kruskal-Wallis |
| 추가 방법 | 상관분석, 부트스트랩, 퍼뮤테이션 검정 |

1. 통계의 큰 그림: 기술 통계와 추론 통계
통계는 크게 두 단계로 생각하면 됩니다.
기술 통계: 지금 가진 데이터를 요약하는 단계
기술 통계는 현재 손에 있는 데이터를 설명하는 단계입니다.
- 평균
- 중앙값
- 최빈값
- 분산
- 표준편차
- 최소값, 최대값
예를 들어 “우리 반 수학 점수의 평균은 80점이고 표준편차는 6점이다”는 기술 통계입니다. 있는 데이터를 요약해서 말하는 것이지, 바깥의 더 큰 집단에 대해 추론하는 단계는 아닙니다.
추론 통계: 표본으로 모집단을 추정하는 단계
추론 통계는 표본을 가지고 더 큰 모집단을 추정하는 단계입니다.
예를 들어:
- 1,000명을 조사해서 전체 유권자의 지지율을 추정한다
- 일부 환자 데이터를 보고 신약 효과가 있는지 판단한다
- 실험군과 대조군 차이가 우연인지 아닌지 판정한다
즉, 기술 통계는 묘사, 추론 통계는 판단에 더 가깝습니다.
2. 모집단, 표본, 모수, 통계량을 먼저 구분해야 한다
통계의 첫 단추는 “전체”와 “일부”를 구분하는 것입니다.
| 용어 | 뜻 | 쉬운 설명 |
|---|---|---|
| 모집단 (Population) | 관심 대상 전체 | 전국 성인 전체, 모든 고객 전체 |
| 표본 (Sample) | 모집단에서 뽑은 일부 | 조사에 응답한 1,000명 |
| 모수 (Parameter) | 모집단의 진짜 값 | 진짜 평균, 진짜 분산 |
| 통계량 (Statistic) | 표본으로 계산한 값 | 표본평균, 표본분산 |
핵심은 이것입니다.
- 모수는 우리가 알고 싶지만 보통 직접 모릅니다.
- 통계량은 우리가 실제로 계산할 수 있습니다.
- 통계 검정은 결국 통계량을 이용해 모수에 대해 판단하는 과정입니다.
3. 평균, 분산, 표준편차, 표준오차는 어떻게 다른가
평균은 중심, 분산과 표준편차는 흩어짐
평균은 중심을 알려 줍니다.
데이터: 60, 70, 80, 90, 100
평균: 80
하지만 평균만 보면 데이터가 얼마나 퍼져 있는지는 알 수 없습니다. 그래서 분산과 표준편차가 필요합니다.
분산과 표준편차
- 분산: 평균에서 얼마나 멀리 퍼져 있는지의 제곱 평균
- 표준편차: 분산의 제곱근
표준편차는 원래 데이터와 단위가 같아서 해석이 더 쉽습니다.
평균이 80점, 표준편차가 15.8점이라면
점수들이 평균 80점 주변에서 꽤 넓게 퍼져 있다고 볼 수 있습니다.
표준오차는 완전히 다른 대상이다
표준오차(Standard Error, SE)는 개별 데이터의 흩어짐이 아니라 표본평균의 흔들림을 말합니다.
공식은 다음과 같습니다.
SE = s / sqrt(n)
여기서:
s= 표본표준편차n= 표본크기
즉, 표본 수가 커질수록 표준오차는 작아집니다. 같은 데이터라도 많이 모을수록 평균 추정이 더 안정된다는 뜻입니다.
표준편차와 표준오차 비교
| 구분 | 표준편차 (SD) | 표준오차 (SE) |
|---|---|---|
| 무엇의 흩어짐인가 | 데이터 개별값 | 표본평균 |
| 용도 | 데이터 자체 설명 | 평균 추정의 정확도 |
| 표본 수가 커지면 | 꼭 줄지 않음 | 줄어듦 |
4. 신뢰구간과 표본오차는 어떻게 읽어야 하나
신뢰구간은 “가능한 값의 범위”다
표본평균 하나만 제시하면 지나치게 단정적으로 보일 수 있습니다. 그래서 보통 신뢰구간을 함께 제시합니다.
예를 들어 표본평균이 48이고 95% 신뢰구간이 45~51이라면, 통계적으로는 “참값이 이 구간에 있을 가능성이 높은 범위”로 해석합니다.
실무에서는 이 표현이 더 중요합니다.
- 평균이 얼마인지
- 그 추정이 얼마나 불안정한지
표본오차는 신뢰구간의 반폭이라고 생각하면 쉽다
여론조사에서 자주 보는 ±3.1%p 같은 숫자가 표본오차입니다.
관계식은 다음처럼 볼 수 있습니다.
표본오차 = 임계값 × 표준오차
95% 신뢰수준에서는 흔히 1.96을 곱해 근사합니다.
5. 가설 검정은 결국 “우연으로 보기 어려운가”를 묻는 절차다
귀무가설과 대립가설
가설 검정은 대개 아래 구조입니다.
- 귀무가설(
H0): 차이가 없다, 효과가 없다, 관계가 없다 - 대립가설(
H1): 차이가 있다, 효과가 있다, 관계가 있다
예를 들어 두 집단 평균 비교라면:
H0: 두 집단 평균은 같다H1: 두 집단 평균은 다르다
p-value는 무엇인가
p-value는 귀무가설이 참이라고 가정했을 때, 지금처럼 극단적인 결과가 나올 확률입니다.
이 정의에서 중요한 점은 두 가지입니다.
- p-value는 “귀무가설이 참일 확률”이 아닙니다.
- p-value가 작다는 것은 “이 결과를 단순 우연으로 보기 어렵다”는 뜻입니다.
유의수준 0.05를 어떻게 이해할까
관례적으로 p < 0.05이면 유의하다고 말하는 경우가 많습니다. 하지만 이 숫자는 절대 법칙이 아니라 판단 기준선입니다.
실무에서는 이렇게 읽는 편이 좋습니다.
p < 0.05: 귀무가설과 잘 맞지 않는 결과p >= 0.05: 귀무가설을 기각할 만큼 증거가 충분하지 않음
여기서 특히 주의할 점:
p >= 0.05는 “차이가 없다”의 증명이 아닙니다.- 단지 “이번 데이터만으로는 차이가 있다고 말할 증거가 부족하다”에 가깝습니다.
1종 오류와 2종 오류
| 오류 | 의미 | 쉬운 해석 |
|---|---|---|
| 1종 오류 | 실제로 차이가 없는데 있다고 판단 | false positive |
| 2종 오류 | 실제로 차이가 있는데 없다고 판단 | false negative |
표본 수가 너무 작으면 2종 오류가 늘어나기 쉽습니다. 즉, 실제 차이가 있어도 놓칠 수 있습니다.
6. 어떤 검정을 써야 하는지 먼저 결정하는 표
통계 검정에서 가장 중요한 실수는 계산보다 검정 선택에서 더 자주 나옵니다.
아래 표를 먼저 기억하는 것이 좋습니다.
| 질문 | 데이터 구조 | 대표 검정 | 비모수 대안 |
|---|---|---|---|
| 한 집단 평균이 특정 값과 다른가 | 수치형 1집단 | one-sample t-test | one-sample Wilcoxon |
| 두 독립집단 평균이 다른가 | 수치형 2집단 독립 | Welch t-test | Wilcoxon rank-sum |
| 두 대응집단 평균이 다른가 | 수치형 2집단 대응 | paired t-test | Wilcoxon signed-rank |
| 세 집단 이상 평균이 다른가 | 수치형 3집단 이상 독립 | one-way ANOVA | Kruskal-Wallis |
| 범주형 두 변수에 관련이 있는가 | 범주형 교차표 | chi-squared test | Fisher exact test |
| 비율이 특정 값과 다른가 | 성공/실패 데이터 | binom.test, prop.test | - |
| 두 수치형 변수에 관계가 있는가 | 연속형 2변수 | Pearson correlation | Spearman, Kendall |
이 표를 기준으로 아래 예제를 읽으면 구조가 훨씬 선명해집니다.
7. one-sample t-test: 한 집단 평균이 기준값과 다른가
언제 쓰는가
- 한 집단만 있다
- 평균이 어떤 기준값과 다른지 보고 싶다
- 데이터가 대체로 정규성 가정을 크게 벗어나지 않는다고 본다
예를 들어 어떤 측정값들의 평균이 40과 다른지 검사해 보겠습니다.
x <- c(59.3, 14.2, 32.9, 69.1, 23.1, 79.3, 51.9, 39.2, 41.8)
t.test(x, mu = 40)이 예제의 실제 결과는 대략 다음과 같습니다.
mean of x = 45.64
p-value = 0.449
95% CI = [29.28, 62.01]
어떻게 해석하나
- 표본평균은 45.64입니다.
- 하지만 p-value가 0.449로 큽니다.
- 따라서 평균이 40과 다르다고 말할 증거가 충분하지 않습니다.
- 신뢰구간에도 40이 포함되어 있습니다.
즉, 이번 데이터만으로는 “평균이 40과 다르다”고 주장하기 어렵습니다.
8. one-sample Wilcoxon: 정규성 가정이 불안하면
같은 예제를 비모수 방식으로 보면 다음과 같습니다.
x <- c(59.3, 14.2, 32.9, 69.1, 23.1, 79.3, 51.9, 39.2, 41.8)
wilcox.test(x, mu = 40, exact = FALSE)실제 결과는 대략:
p-value = 0.477
해석은 거의 같습니다. 중심 위치가 40과 다르다고 말할 강한 증거가 없습니다.
언제 one-sample Wilcoxon을 고려하나
- 데이터가 매우 비대칭적이다
- 표본 수가 작고 정규성 가정이 불안하다
- 평균보다 중앙값 중심 해석이 더 적절하다
9. 두 독립집단 비교: Welch t-test를 기본값처럼 생각해도 좋다
두 독립집단 평균 비교에서는 전통적인 Student t-test보다 Welch t-test를 기본값으로 쓰는 경우가 많습니다. 이유는 분산이 같다는 가정을 덜 엄격하게 요구하기 때문입니다.
PlantGrowth 데이터에서 ctrl과 trt1을 비교해 보겠습니다.
data(PlantGrowth)
t.test(
weight ~ group,
data = subset(PlantGrowth, group %in% c("ctrl", "trt1"))
)실제 결과는 대략 다음과 같습니다.
mean(ctrl) = 5.032
mean(trt1) = 4.661
p-value = 0.250
95% CI for difference = [-0.288, 1.030]
해석
- 대조군 평균이 조금 더 높지만
- p-value가 0.25로 커서
- 두 집단 평균 차이가 통계적으로 유의하다고 보기는 어렵습니다
왜 Welch t-test를 먼저 떠올리면 좋은가
- 현실 데이터는 분산이 같다고 장담하기 어렵습니다
t.test()의 기본값도var.equal = FALSE라 Welch 방식입니다- 불필요하게 강한 가정을 덜어낼 수 있습니다
10. 두 독립집단의 비모수 대안: Wilcoxon rank-sum test
같은 비교를 비모수 검정으로 하면 다음과 같습니다.
wilcox.test(
weight ~ group,
data = subset(PlantGrowth, group %in% c("ctrl", "trt1")),
exact = FALSE
)실제 결과:
p-value = 0.199
결론은 비슷합니다. 두 그룹 차이를 강하게 주장할 수준은 아닙니다.
언제 Wilcoxon rank-sum을 쓰나
- 이상치가 많다
- 분포가 많이 치우쳐 있다
- 표본 수가 작아 정규성 가정이 민감하다
다만 Wilcoxon 검정은 “평균 비교”라기보다 분포 위치 차이, 또는 순위 기반 차이를 본다는 점을 기억하는 편이 좋습니다.
11. 대응표본 비교: paired t-test는 before-after 설계에 맞는다
같은 사람을 전후로 측정한 경우처럼, 두 표본이 짝을 이루는 구조라면 paired t-test를 씁니다.
R의 sleep 데이터셋은 대표적인 예제입니다.
data(sleep)
wide <- reshape(sleep, idvar = "ID", timevar = "group", direction = "wide")
t.test(wide$extra.2, wide$extra.1, paired = TRUE)실제 결과는 대략 다음과 같습니다.
mean difference = 1.58
p-value = 0.0028
95% CI = [0.70, 2.46]
해석
- 두 번째 처리 조건이 첫 번째보다 평균적으로 1.58만큼 더 큽니다
- p-value가 0.01보다 작습니다
- 따라서 대응 구조를 고려했을 때 차이가 있다고 볼 근거가 충분합니다
독립표본 t-test와 무엇이 다른가
paired t-test는 각 사람의 “차이값”을 분석합니다. 따라서 같은 사람을 두 번 잰 데이터라면 독립표본 검정보다 paired 검정이 더 맞는 설계입니다.
12. 대응표본의 비모수 대안: Wilcoxon signed-rank test
wilcox.test(wide$extra.2, wide$extra.1, paired = TRUE, exact = FALSE)실제 결과:
p-value = 0.0091
이 역시 유의합니다. 대응 구조를 유지하면서 정규성 가정을 덜 엄격하게 쓰고 싶을 때 적합합니다.
13. 세 집단 이상 비교: one-way ANOVA
집단이 셋 이상이면 pairwise t-test를 무작정 여러 번 하는 대신 먼저 ANOVA로 전체 차이가 있는지 확인하는 것이 일반적입니다.
PlantGrowth 전체 데이터를 사용해 보겠습니다.
summary(aov(weight ~ group, data = PlantGrowth))실제 결과 요약:
F = 4.846
p-value = 0.0159
해석
- 세 그룹 평균이 모두 같다는 귀무가설을 기각할 수 있습니다
- 즉, 적어도 한 그룹은 다른 그룹과 평균이 다를 가능성이 큽니다
하지만 ANOVA는 어느 그룹끼리 다른지까지 바로 말해 주지는 않습니다. 그 단계는 보통 사후검정(Tukey HSD 등)으로 이어집니다.
언제 ANOVA를 쓰나
- 독립된 세 집단 이상 비교
- 종속변수는 수치형
- 집단별 분포가 너무 심하게 깨지지 않음
14. ANOVA의 비모수 대안: Kruskal-Wallis test
집단이 셋 이상이고 정규성이나 이상치 문제가 걱정된다면 Kruskal-Wallis 검정을 고려할 수 있습니다.
kruskal.test(weight ~ group, data = PlantGrowth)실제 결과:
Kruskal-Wallis chi-squared = 7.988
p-value = 0.0184
ANOVA와 비슷하게 세 그룹 차이가 있다는 결론으로 이어집니다.
언제 Kruskal-Wallis를 쓰나
- 그룹 수는 셋 이상
- 독립표본 구조
- 비정규성, 이상치 우려
- 순위 기반 비교가 더 안전하다고 판단할 때
15. 카이제곱검정과 Fisher 검정: 범주형 데이터는 평균이 아니라 빈도를 본다
범주형 데이터는 평균 비교가 아니라 빈도 구조를 비교합니다.
예를 들어 2x2 교차표가 있다고 합시다.
m <- matrix(c(20, 30, 30, 20), nrow = 2, byrow = TRUE)
chisq.test(m, correct = FALSE)
fisher.test(m)실제 결과는 다음과 같습니다.
Chi-squared test p-value = 0.0455
Fisher exact test p-value = 0.0713
왜 결과가 다를 수 있나
- 카이제곱검정은 근사 기반입니다
- Fisher 검정은 정확검정입니다
- 표본이 작거나 기대빈도가 작으면 Fisher를 더 우선해서 보는 경우가 많습니다
선택 기준
| 상황 | 추천 |
|---|---|
| 표본이 충분하고 기대빈도가 무난함 | 카이제곱검정 |
| 표본이 작거나 2x2 표에서 기대빈도가 작음 | Fisher exact test |
16. 비율 검정: 성공/실패 데이터에서는 binom.test()와 prop.test()
한 비율이 기준값과 다른지
binom.test(x = 25, n = 30, p = 0.5)실제 결과:
observed proportion = 0.833
p-value = 0.000325
95% CI = [0.653, 0.944]
30번 중 25번 성공한 결과가 성공확률 0.5와는 꽤 다르다고 볼 수 있습니다.
두 비율이 서로 다른지
prop.test(c(18, 17), c(30, 24))실제 결과:
prop1 = 0.600
prop2 = 0.708
p-value = 0.588
표본 비율은 달라 보여도, 이번 예제에서는 통계적으로 유의한 차이라고 말하기 어렵습니다.
17. 상관분석: 두 수치형 변수의 관계를 보고 싶을 때
Pearson 상관: 선형 관계 중심
mtcars에서 자동차 무게(wt)와 연비(mpg)의 관계를 보겠습니다.
cor.test(mtcars$wt, mtcars$mpg, method = "pearson")실제 결과:
cor = -0.868
p-value = 1.29e-10
95% CI = [-0.934, -0.744]
강한 음의 상관입니다. 즉, 자동차가 무거울수록 연비는 낮아지는 경향이 강합니다.
Spearman 상관: 순위 기반으로 더 유연하게
cor.test(mtcars$wt, mtcars$mpg, method = "spearman", exact = FALSE)실제 결과:
rho = -0.886
p-value = 1.49e-11
Pearson과 Spearman은 어떻게 고를까
| 상황 | 추천 |
|---|---|
| 관계가 대체로 선형이고 연속형 변수 | Pearson |
| 비선형 단조 관계, 이상치 우려, 순위 해석 선호 | Spearman |
| 순위 자료, tie 구조를 더 엄밀히 보고 싶음 | Kendall |
18. 정규성 검정은 보조도구로 써야 한다
초보자가 자주 하는 실수는 Shapiro-Wilk 검정을 만능 필터처럼 쓰는 것입니다.
예를 들어:
shapiro.test(iris$Sepal.Length)실제 결과:
p-value = 0.010
이 결과만 보면 “정규분포가 아니다”라고 끝내기 쉽습니다. 하지만 실제 분석에서는 아래를 함께 봐야 합니다.
- 히스토그램
- Q-Q plot
- 표본 크기
- 분석 목적
표본 수가 크면 아주 작은 비정규성도 쉽게 유의하게 잡힐 수 있습니다. 반대로 표본이 작으면 문제를 놓칠 수도 있습니다. 그래서 정규성 검정은 판결문이 아니라 보조 신호로 쓰는 편이 안전합니다.
19. 비모수 검정은 “대충 하는 검정”이 아니라 다른 철학의 검정이다
비모수 검정은 모수검정보다 열등한 대체재가 아닙니다. 질문이 다르고 가정이 다릅니다.
비모수 검정을 고려할 만한 상황
- 데이터가 심하게 치우쳐 있다
- 이상치 영향이 크다
- 표본 수가 작다
- 순위 중심 비교가 더 자연스럽다
대표 대응 관계는 아래처럼 기억하면 편합니다.
| 모수 검정 | 비모수 대안 |
|---|---|
| one-sample t-test | one-sample Wilcoxon |
| two-sample t-test | Wilcoxon rank-sum |
| paired t-test | Wilcoxon signed-rank |
| one-way ANOVA | Kruskal-Wallis |
| repeated measures ANOVA | Friedman test |
20. 분포 가정이 꺼림칙할 때: 부트스트랩과 퍼뮤테이션
로컬 자료에도 정리되어 있었듯이, 부트스트랩과 퍼뮤테이션은 고전적인 검정과 다른 방식으로 불확실성을 다룹니다.
부트스트랩: 표본을 다시 여러 번 뽑아 분포를 만든다
set.seed(123)
x <- c(59.3, 14.2, 32.9, 69.1, 23.1, 79.3, 51.9, 39.2, 41.8)
boot_means <- replicate(2000, mean(sample(x, replace = TRUE)))
quantile(boot_means, c(0.025, 0.975))이 방법은 표본에서 복원추출을 반복해 평균의 경험적 분포를 만듭니다. 정규 근사 대신 데이터 자체로 신뢰구간을 구성하고 싶을 때 유용합니다.
퍼뮤테이션 검정: 레이블을 섞어 우연 분포를 만든다
set.seed(123)
group <- rep(c("A", "B"), each = 20)
xA <- rnorm(20, mean = 0)
xB <- rnorm(20, mean = 1)
x <- c(xA, xB)
obs_diff <- mean(x[group == "A"]) - mean(x[group == "B"])
perm_diffs <- replicate(5000, {
perm_group <- sample(group)
mean(x[perm_group == "A"]) - mean(x[perm_group == "B"])
})
mean(abs(perm_diffs) >= abs(obs_diff))퍼뮤테이션 검정은 귀무가설 아래에서 집단 구분이 의미 없다고 보고, 레이블을 섞었을 때 현재 관측 차이가 얼마나 극단적인지 판단합니다.
언제 유용한가
- 분포 가정을 강하게 두고 싶지 않을 때
- 표본 구조를 직접 반영하고 싶을 때
- 교육용으로 검정의 원리를 직관적으로 보여 주고 싶을 때
21. 초보자가 자주 하는 실수
1) p-value만 보고 끝낸다
유의하다는 말만 하고, 차이의 크기와 신뢰구간을 보지 않는 경우가 많습니다. 가능하면 항상 효과의 방향, 크기, 신뢰구간까지 같이 봐야 합니다.
2) 유의하지 않으면 “차이가 없다”고 단정한다
유의하지 않다는 것은 증거가 부족하다는 뜻이지, 차이가 없다는 증명이 아닙니다.
3) 대응자료를 독립표본처럼 분석한다
before-after, 같은 사람 반복 측정, 매칭 설계는 paired 검정을 써야 합니다.
4) 카테고리 데이터에 평균 검정을 적용하려고 한다
성공/실패, 성별, 선호 정당 같은 범주형 데이터는 t-test가 아니라 비율 검정이나 교차표 검정을 생각해야 합니다.
5) 정규성 검정을 만능 스위치처럼 쓴다
Shapiro-Wilk 하나로 모든 결정을 내리기보다, 데이터 시각화와 설계 구조를 함께 봐야 합니다.
22. 실무용 검정 선택 체크리스트
분석 전에 아래 순서로 질문하면 대부분의 검정을 빠르게 고를 수 있습니다.
- 종속변수는 수치형인가, 범주형인가
- 집단 수는 1개, 2개, 3개 이상인가
- 두 집단이 독립인가, 대응인가
- 평균 비교가 맞는가, 비율/빈도 비교가 맞는가
- 정규성/이상치 문제가 심한가
- 결과를 평균 차이로 해석할 것인가, 순위 차이로 해석할 것인가
이 흐름만 익혀도 검정 선택 실수는 크게 줄어듭니다.
23. FAQ
p-value가 0.049면 무조건 맞고, 0.051이면 틀린 건가요
아닙니다. 둘 사이에 본질적 절벽이 있는 것은 아닙니다. 0.05는 관례적 기준일 뿐이며, 효과크기, 신뢰구간, 데이터 품질, 설계 맥락을 같이 봐야 합니다.
표본이 작으면 무조건 비모수 검정을 써야 하나요
그렇지는 않습니다. 표본이 작아도 데이터 구조가 안정적이고 정규성 가정이 크게 어색하지 않다면 모수 검정을 쓸 수 있습니다. 다만 작은 표본에서는 가정 점검에 더 신중해야 합니다.
ANOVA가 유의하면 바로 “모든 그룹이 다르다”고 말해도 되나요
안 됩니다. ANOVA는 적어도 한 그룹이 다를 가능성을 말해 줄 뿐입니다. 어느 그룹끼리 다른지는 사후검정이 필요합니다.
상관이 크면 인과관계라고 봐도 되나요
아닙니다. 상관은 함께 움직이는 정도를 말할 뿐이고, 원인과 결과를 자동으로 보장하지 않습니다.
24. 마무리
통계 기초와 가설 검정은 따로 떨어진 주제가 아닙니다. 모집단과 표본을 이해하고, 표준편차와 표준오차를 구분하고, 신뢰구간과 p-value를 읽을 수 있어야 검정 결과도 제대로 해석할 수 있습니다.
실무에서 정말 중요한 것은 “어떤 검정을 아느냐”보다 아래 세 가지입니다.
- 내가 지금 비교하려는 대상이 무엇인가
- 데이터 구조가 독립인지 대응인지
- 결과를 평균, 비율, 빈도, 순위 중 어떤 관점에서 읽어야 하는가
이 구조가 잡히면 검정 이름이 많아 보여도 훨씬 덜 복잡해집니다. 통계는 공식을 외우는 과목이라기보다, 질문에 맞는 판단 도구를 고르는 과정에 더 가깝습니다.
공식 문서 및 참고 링크
통계 기초 개념은 교과서로 익히고, 실제 함수의 입력과 출력은 공식 문서로 확인하는 흐름이 가장 안정적입니다. 아래 문서는 이 글에서 다룬 대표 검정의 원문 기준점으로 삼기 좋습니다.
- R
t.test()공식 문서: https://stat.ethz.ch/R-manual/R-devel/library/stats/html/t.test.html - R
chisq.test()공식 문서: https://stat.ethz.ch/R-manual/R-devel/library/stats/html/chisq.test.html - R
wilcox.test()공식 문서: https://stat.ethz.ch/R-manual/R-devel/library/stats/html/wilcox.test.html - R
kruskal.test()공식 문서: https://stat.ethz.ch/R-manual/R-devel/library/stats/html/kruskal.test.html - R
cor.test()공식 문서: https://stat.ethz.ch/R-manual/R-devel/library/stats/html/cor.test.html