
등분산성은 집단 간의 분산(variance)이 동일한지를 확인하는 과정으로, 아래의 분석 방법에서 필수적입니다.
| 분석 방법 | 필요 여부 | 등분산 검정 방법 | R 함수 | 대체 방법 (등분산 불만족시) |
|---|---|---|---|---|
| 독립표본 t-test | 필수 | F-test (var.test) | var.test(y ~ group, data=df) | var.equal = FALSE 인자 추가 |
| One-way ANOVA | 필수 | Bartlett test | bartlett.test(y ~ group, data=df) | Kruskal-Wallis test (비모수 분석) |
| Two-way ANOVA | 필수 | Levene's test | car::leveneTest(y ~ group, data=df) | Kruskal-Wallis test (비모수 분석) |
| 회귀분석 (lm, glm) | 선택적 | 잔차의 등분산 확인 | plot(lm_model, which = 3) | 가중 회귀 분석 (WLS) |
| One-way test | 필수 | Bartlett test | bartlett.test(y ~ group, data=df) | Kruskal-Wallis test (비모수 분석) |
var.test()): 두 개의 집단의 분산을 비교.bartlett.test()): 세 개 이상의 집단의 분산을 비교.car::leveneTest()): 세 개 이상의 집단의 분산을 비교하며, Bartlett보다 정규성 가정을 덜 요구함.독립표본 t-test:
t.test(y ~ group, data = df, var.equal = FALSE)로 var.equal = FALSE 옵션을 사용해 Welch's t-test를 실행.t.test(y ~ group, data = df, var.equal = FALSE)
One-way ANOVA, Two-way ANOVA:
kruskal.test(y ~ group, data = df)
회귀분석 (lm, glm):
lm_model <- lm(y ~ x1 + x2, weights = 1/var(y), data = df)
정규성 검정은 데이터가 정규분포를 따르는지 확인하는 과정으로, 아래의 분석 방법에서 필수적입니다.
| 분석 방법 | 필요 여부 | 정규성 검정 방법 | R 함수 | 대체 방법 (정규성 불만족시) |
|---|---|---|---|---|
| 독립표본 t-test | 필수 | Shapiro-Wilk test | shapiro.test(y) | Wilcoxon rank-sum test |
| 대응표본 t-test | 필수 | Shapiro-Wilk test | shapiro.test(y) | Wilcoxon signed-rank test |
| 단일표본 t-test | 필수 | Shapiro-Wilk test | shapiro.test(y) | Wilcoxon signed-rank test |
| One-way ANOVA | 필수 | Shapiro-Wilk test | shapiro.test(y) | Kruskal-Wallis test |
| Two-way ANOVA | 필수 | Shapiro-Wilk test | shapiro.test(y) | Kruskal-Wallis test |
| 회귀분석 (lm, glm) | 선택적 | Q-Q plot, Shapiro-Wilk | plot(lm_model, which = 2) | 잔차의 정규화 (Box-Cox 변환) |
| 상관분석 (Pearson) | 필수 | Shapiro-Wilk test | shapiro.test(y) | Spearman 상관분석 |
shapiro.test()): 50개 미만의 샘플에 적합.ks.test()): 샘플 수가 50개 이상일 때 사용.qqnorm(y)
qqline(y, col = "red")t-test (독립표본, 대응표본, 단일표본):
# Wilcoxon rank-sum test
wilcox.test(y ~ group, data = df)
# Wilcoxon signed-rank test
wilcox.test(y1, y2, paired = TRUE)
ANOVA (One-way, Two-way):
kruskal.test(y ~ group, data = df)
회귀분석 (lm, glm):
library(MASS)
bc_transform <- boxcox(lm(y ~ x1 + x2, data = df))
상관분석:
cor.test(x, y, method = "spearman")
| 분석 방법 | 등분산성 필요 | 정규성 필요 | 대체 방법 (등분산 불만족) | 대체 방법 (정규성 불만족) |
|---|---|---|---|---|
| 독립표본 t-test | ✅ 필요 | ✅ 필요 | Welch's t-test (var.equal=F) | Wilcoxon rank-sum test |
| 대응표본 t-test | ❌ 불필요 | ✅ 필요 | - | Wilcoxon signed-rank test |
| 단일표본 t-test | ❌ 불필요 | ✅ 필요 | - | Wilcoxon signed-rank test |
| One-way ANOVA | ✅ 필요 | ✅ 필요 | Kruskal-Wallis test | Kruskal-Wallis test |
| Two-way ANOVA | ✅ 필요 | ✅ 필요 | Kruskal-Wallis test | Kruskal-Wallis test |
| 회귀분석 (lm, glm) | 선택적 | 선택적 | 가중 회귀 분석 (WLS) | 잔차의 정규화 (Box-Cox 변환) |
| Pearson 상관분석 | ❌ 불필요 | ✅ 필요 | - | Spearman 상관분석 |
| One-way test | ✅ 필요 | ✅ 필요 | Kruskal-Wallis test | Kruskal-Wallis test |
필요한 부분이 더 있거나 추가적인 설명이 필요하면 알려주세요.