Rのウィルコクソン順位和検定


13

2つの独立したサンプルに同じテストを適用した結果があります。

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)

そして、ウィルコクソンのランクサムテストを計算します。

手作業で統計を計算すると、次のようになります: T W = rank X i= 156.5TW

TW=ランクバツ=156.5

Rにaを実行させるとwilcox.test(x, y, correct = F)、次のようになります。

W = 101.5

何故ですか?符号付きランク検定を実行したときにのみ統計が返されるべきではありませんか?または、ランクサムテストを誤解していますか?W+paired = T

RにT Wを出力させる方法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順位和検定の検定統計量を計算するさまざまな方法の意味について、フォローアップの質問をしました。

回答:


15

Note上のヘルプのwilcox.test機能を明確にRの値は、あなたよりも小さくなっている理由を説明します。

注意

文献は、ウィルコクソンの順位和とマン・ホイットニー検定の定義について全会一致ではありません。最も一般的な2つの定義は、最初のサンプルのランクの合計に対応し、最小値が減算されるかどうか:Rは減算され、S-PLUSは減算されず、aに対してm(m + 1)/ 2だけ大きい値を与えますサイズmの最初のサンプル。(ウィルコクソンの元の論文では、ランクの調整されていない合計を使用しているようですが、後続のテーブルでは最小値が差し引かれています。)

n1n1+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 

n1n1+1/2WwうんWので、私自身は統計の名前を変更する行に煩わされることはありませんが、そうすることがあなたに合っていれば、そうしない理由もありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.