본문 바로가기

Statistical Analysis/R

[R] Wilcoxon rank sum test, 윌콕슨 순위합 검정

윌콕슨 순위합 검정은

독립 표본 T 검정에 대응되는 비모수 검정법이다.

 

이전 포스팅에서

윌콕슨 부호 순위 검정이 일표본 T검정에 대응된다고 했었다.

이번 포스팅도 같은 맥락이다.

독립표본 T검정에서 정규성 가정이 충족되지 못 할 때 사용한다.

 

하나 언급하자면,

맨 휘트니 U 검정이라는 것도 찾아볼 수 있는데, 결과는 완전히 동일하다.

과정에서 조금의 차이는 있을지 몰라도, 결과는 완전히 동일하니 헷갈리지 말자.

 

가정은 비모수 검정답게 간단한 편이다.

1. 두 그룹은 서로 독립적이어야 한다.

2. 측정값은 최소 순서형 변수여야 한다.

 

순서형 변수가 헷갈린다면, 대소 비교가 가능한지 여부로 생각하자.

어쨌든 해당 검정법의 가정 조건은 간단하다.

 

가설도 약간의 변화가 있다.

독립 표본 T검정이 평균 비교라면,

윌콕슨 순위합 검정은 중앙값 비교이다.

따라서,

- 귀무 가설 : 두 그룹의 중앙값의 차이가 없다.

- 대립 가설 : 두 그룹의 중앙값의 차이가 있다.


# 데이터 불러오기
sample = read.csv("F:/Sw-tastics/Statistics Analysis/example/06. Wilcoxon rank sum test.csv", header = T)
table(sample$company)

# 정규성 검정(shapiro-wilks test)
# A : 중심극한정리에 의해 정규성을 만족한다고 할 수 있다.
# B : 확인 필요
shapiro.test(sample[sample$company == "B", "weight"])

# wilcoxon rank sum test
wilcox.test(sample[sample$company == "A", "weight"],
            sample[sample$company == "B", "weight"])

wilcox.test(data = sample,
            weight ~ company)

06. Wilcoxon rank sum test.csv
0.00MB

두 회사 제품의 중량이 동일한지 확인해본다고 하자.

 

# 데이터 불러오기
sample = read.csv("F:/Sw-tastics/Statistics Analysis/example/06. Wilcoxon rank sum test.csv", header = T)
table(sample$company)

데이터의 형태는 위와 같다.

변수는 2개이며,

총 관측치 60개 중 회사 A의 관측치가 40개, B가 20개이다.

 

# 정규성 검정(shapiro-wilks test)
# A : 중심극한정리에 의해 정규성을 만족한다고 할 수 있다.
# B : 확인 필요
shapiro.test(sample[sample$company == "B", "weight"])

Shapiro-wilk 검정에서 정규성이 만족되지 못 한다는 결론을 얻는다.

따라서, 독립 표본 T검정이 아닌 비모수 검정을 고려한다.

A, B는 서로 독립이라고 가정하고,

중량이기 때문에 가정 (2)도 만족한다.

 

# wilcoxon rank sum test
wilcox.test(sample[sample$company == "A", "weight"],
            sample[sample$company == "B", "weight"])

wilcox.test(data = sample,
            weight ~ company)

둘 다 가능한 코드다.

편한대로 쓰면 된다.

 

p-value가 0.05미만이므로 귀무가설을 기각하고,

두 그룹의 중앙값은 다르다는 결론을 얻는다.