R에서 mann-whitney u 테스트를 수행하는 방법


Mann-Whitney U 검정 (Wilcoxon 순위합 검정이라고도 함)은 표본 분포가 정규 분포를 따르지 않고 표본 크기가 작은(n < 30) 경우 두 독립 표본 간의 차이를 비교하는 데 사용됩니다.

이는 독립 2표본 t 검정 과 동등한 비모수적 검정으로 간주됩니다.

이 튜토리얼에서는 R에서 Mann-Whitney U 테스트를 수행하는 방법을 설명합니다.

예: R의 Mann-Whitney U 테스트

연구자들은 새로운 약물이 공황 발작을 예방하는 데 효과적인지 여부를 알고 싶어합니다. 총 12명의 환자를 무작위로 6명씩 두 그룹으로 나누어 신약 또는 위약을 투여받는 그룹으로 배정했습니다. 그런 다음 환자는 한 달 동안 경험한 공황 발작 횟수를 기록합니다.

결과는 아래와 같습니다:

신약 위약
4
5 8
1 6
4 2
1
5 9

Mann-Whitney U 테스트를 수행하여 위약군 환자와 신약군 환자의 공황 발작 횟수에 차이가 있는지 확인합니다. 유의수준 0.05를 사용합니다.

Mann-Whitney U 테스트를 수행하는 방법에는 두 가지가 있지만 두 방법 모두 wilcox.test() 함수를 사용하고 둘 다 동일한 결과를 가져옵니다.

옵션 1: 데이터를 두 개의 별도 벡터로 입력합니다.

 #create a vector for each group
new <- c(3, 5, 1, 4, 3, 5)
placebo <- c(4, 8, 6, 2, 1, 9)

#perform the Mann Whitney U test
wilcox.test(new, placebo)

#output
Wilcoxon rank sum test with continuity correction

data: new and placebo
W = 13, p-value = 0.468
alternative hypothesis: true location shift is not equal to 0

옵션 2: 두 개의 열이 있는 데이터 프레임에 데이터를 입력합니다. 한 열에는 공황 발작 횟수가 포함되고 다른 열에는 그룹이 포함됩니다.

 #create a data frame with two columns, one for each group
drug_data <- data.frame(attacks = c(3, 5, 1, 4, 3, 5, 4, 8, 6, 2, 1, 9),
                        drug_group = c(rep("old", 6), rep("placebo", 6)))

#perform the Mann Whitney U test
wilcox.test(attacks~drug_group, data = drug_data)

#output
data: attacks by drug_group
W = 13, p-value = 0.468
alternative hypothesis: true location shift is not equal to 0

두 방법 모두 정확히 동일한 결과를 가져온다는 점에 유의하세요. 즉, 검정 통계량은 W = 13이고 해당 p-값은 0.468 입니다.

p-값이 0.05보다 크므로 귀무가설을 기각할 수 없습니다.

이는 위약군 환자가 경험한 공황발작 횟수가 신약군 환자와 다르다고 말할 수 있는 충분한 증거가 없음을 의미한다.

Wilcox.test() 사용 시 참고 사항

기본적으로 wilcox.test()는 양측 가설 검정을 실행한다고 가정합니다. 그러나 대신 단측 테스트를 실행하려는 경우 Alternative=”less” 또는 Alternative=”more”를 지정할 수 있습니다.

예를 들어, 신약이 위약보다 공황 발작을 유발한다는 가설을 테스트한다고 가정해 보겠습니다. 이 경우 Wilcox.test() 함수에 Alternative=”less”를 지정할 수 있습니다.

 #create a vector for each group
new <- c(3, 5, 1, 4, 3, 5)
placebo <- c(4, 8, 6, 2, 1, 9)

#perform the Mann Whitney U test, specify alternative="less"
wilcox.test(new, placebo, alternative="less")

#output
	Wilcoxon rank sum test with continuity correction

data: new and placebo
W = 13, p-value = 0.234
alternative hypothesis: true location shift is less than 0

검정 통계량은 여전히 W = 13이지만 p-값은 이제 0.234 입니다. 이는 양측 검정에 대한 이전 p-값의 정확히 절반입니다.

p-값은 항상 0.05보다 크므로 여전히 귀무가설을 기각하지 못합니다.

신약군 환자가 경험한 공황 발작 횟수가 위약군 환자보다 낮다고 말할 수 있는 충분한 증거는 없습니다.

추가 리소스

Mann-Whitney U 테스트 가이드
Mann-Whitney U 테스트 계산기

의견을 추가하다

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