R에서 윌 콕슨 순위 합계 테스트


14

동일한 테스트 결과를 두 개의 독립적 인 샘플에 적용했습니다.

x <- c(17, 12, 13, 16, 9, 19, 21, 12, 18, 17)
y <- c(10, 6, 15, 9, 8, 11, 8, 16, 13, 7, 5, 14)

그리고 Wilcoxon 순위 합계 테스트를 계산하고 싶습니다.

나는 통계 계산하면 손으로, 내가 얻을 : T W = Σ 순위 ( X I ) = 156.5TW

TW=rank(Xi)=156.5

R이 a을 수행하게하면 다음 wilcox.test(x, y, correct = F)과 같은 결과를 얻습니다.

W = 101.5

왜 그런 겁니까? 통계적 만으로 부호있는 순위 테스트를 수행 할 때만 반환되어서는 안 됩니까? 아니면 순위 합계 테스트를 오해합니까?W+paired = T

나는 출력 R을 어떻게 알 수 TW


테스트 결과의 일부로 다음과 같은 것이 아니라

dat <- data.frame(v = c(x, y), s = factor(rep(c("x", "y"), c(10, 12))))
dat$r <- rank(dat$v)
T.W <- sum(dat$r[dat$s == "x"])

Wilcoxon 순위 합계 검정에 대한 검정 통계량을 계산하는 다른 방법 의 의미에 대한 후속 질문 을했습니다.

답변:


16

Note상의 도움말에서 wilcox.test기능을 명확하게 R의 값이 당신보다 작은 이유를 설명 :

노트

문헌은 Wilcoxon 순위 합계 및 Mann-Whitney 테스트의 정의에 대해서는 만장일치가 아닙니다. 가장 일반적인 두 정의는 최소값을 빼거나 빼지 않은 첫 번째 샘플의 순위 합계에 해당합니다. R 빼기 및 S-PLUS는 그렇지 않습니다. 크기 m의 첫 번째 샘플. (윌 콕슨의 원래 논문은 조정되지 않은 순위의 합을 사용했지만 후속 표는 최소값을 뺀 것으로 보입니다.)

n1(n1+1)/2n1

결과를 수정하는 경우 출력을 wilcox.test변수에 할당 a한 다음, a$statistic값에 최소값을 추가하고 이름을 변경하여 조작 할 수 있습니다. 그런 다음 인쇄 할 때 a(예 :을 입력하여 a) 원하는 방식으로 표시됩니다.

내가 받고있는 것을 보려면 다음을 시도하십시오.

a <- wilcox.test(x,y,correct=FALSE)
str(a) 

예를 들어 이렇게하면 :

n1 <- length(x)
a$statistic <- a$statistic + n1*(n1+1)/2
names(a$statistic) <- "T.W"
a

그럼 당신은 얻을 :

        Wilcoxon rank sum test with continuity correction

data:  x and y 
T.W = 156.5, p-value = 0.006768
alternative hypothesis: true location shift is not equal to 0 

n1(n1+1)/2WwUW

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.