當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R wilcox.test Wilcoxon 秩和和符號秩檢驗


R語言 wilcox.test 位於 stats 包(package)。

說明

對數據向量執行一樣本和二樣本 Wilcoxon 檢驗;後者也稱為“Mann-Whitney”測試。

用法

wilcox.test(x, ...)

## Default S3 method:
wilcox.test(x, y = NULL,
            alternative = c("two.sided", "less", "greater"),
            mu = 0, paired = FALSE, exact = NULL, correct = TRUE,
            conf.int = FALSE, conf.level = 0.95,
            tol.root = 1e-4, digits.rank = Inf, ...)

## S3 method for class 'formula'
wilcox.test(formula, data, subset, na.action, ...)

參數

x

數據值的數值向量。非有限(例如無限或缺失)值將被省略。

y

數據值的可選數字向量:與 x 一樣,非有限值將被省略。

alternative

指定備擇假設的字符串必須是 "two.sided" (默認)、"greater""less" 之一。您可以僅指定首字母。

mu

指定用於生成原假設的可選參數的數字。查看具體信息'。

paired

指示您是否想要配對測試的邏輯。

exact

指示是否應計算精確 p 值的邏輯。

correct

指示是否在 p 值的正態近似中應用連續性校正的邏輯。

conf.int

指示是否應計算置信區間的邏輯。

conf.level

區間的置信水平。

tol.root

(當 conf.int 為 true 時:)正數值容差,用於 uniroot(*, tol=tol.root) 調用。

digits.rank

一個號碼;如果有限, rank(signif(r, digits.rank)) 將用於計算檢驗統計量的排名,而不是(默認) rank(r)

formula

lhs ~ rhs 形式的公式,其中 lhs 是給出數據值的數值變量,rhs 可以是 1(用於單樣本或配對測試),也可以是具有兩個水平的因子(給出相應的組)。如果 lhs 屬於 "Pair" 類且 rhs 屬於 1 ,則完成配對測試。

data

包含公式 formula 中的變量的可選矩陣或 DataFrame (或類似的:請參閱 model.frame )。默認情況下,變量取自environment(formula)

subset

一個可選向量,指定要使用的觀測子集。

na.action

一個函數,指示當數據包含 NA 時應該發生什麽。默認為 getOption("na.action")

...

要傳遞給方法或從方法傳遞的更多參數。

細節

公式接口僅適用於2樣本檢驗。

如果僅給出 x ,或者如果同時給出 xy 並且 pairedTRUE ,則對 x 的分布進行 Wilcoxon 符號秩檢驗(在一個樣本情況下) )或x - y(在配對的兩個樣本情況下)關於mu 對稱。

否則,如果同時給出 xy 並且 pairedFALSE ,則執行 Wilcoxon 秩和檢驗(相當於 Mann-Whitney 檢驗:參見注釋)。在這種情況下,零假設是 xy 的分布因 mu 的位置偏移而不同,另一種假設是它們因某些其他位置偏移而不同(以及單方麵的替代方案 "greater"x 移到 y 的右側)。

默認情況下(如果未指定 exact),如果樣本包含少於 50 個有限值且不存在聯係,則會計算精確的 p 值。否則,使用正態近似。

出於穩定性原因,建議使用舍入數據或設置 digits.rank = 7 ,以便關係的確定不依賴於非常小的數值差異(請參見示例)。

(如果參數 conf.int 為 true),計算非參數置信區間和偽中位數(單樣本情況)或位置參數差值 x-y 的估計量。 (分布 的偽中位數是 分布的中位數,其中 是獨立的,每個都具有分布 。如果 是對稱的,則偽中位數和中位數一致。參見 Hollander & Wolfe (1973),第 34 頁。)請注意,在兩個樣本的情況下,位置參數差異的估計器不會估計中位數的差異(常見的誤解),而是估計兩個樣本之間差異的中位數來自 x 的示例和來自 y 的示例。

如果精確的 p 值可用,則通過 Bauer (1972) 中說明的算法獲得精確的置信區間,並采用 Hodges-Lehmann 估計器。否則,返回的置信區間和點估計基於正態近似。這些是間隔的continuity-corrected,而不是估計值(因為校正取決於alternative)。

對於小樣本,可能無法實現非常高的置信區間覆蓋範圍。如果發生這種情況,將發出警告,並用覆蓋率較低的間隔進行替換。

x(和y,如果適用)有效時,該函數現在始終返回,在無法計算置信區間的conf.int = TRUE情況下也是如此,在這種情況下,區間邊界和有時estimate現在包含NaN

"htest" 的列表包含以下組件:

statistic

檢驗統計量的值及其說明名稱。

parameter

檢驗統計量的精確分布的參數。

p.value

檢驗的 p 值。

null.value

位置參數mu

alternative

說明備擇假設的字符串。

method

所應用的測試類型。

data.name

給出數據名稱的字符串。

conf.int

位置參數的置信區間。 (僅在參數 conf.int = TRUE 時出現。)

estimate

位置參數的估計。 (僅在參數 conf.int = TRUE 時出現。)

警告

該函數會使用大量內存和堆棧(甚至崩潰R如果超出堆棧限製)如果exact = TRUE而且一個樣本很大(幾千個或更多)。

注意

文獻對於 Wilcoxon 秩和和 Mann-Whitney 檢驗的定義並不一致。兩個最常見的定義對應於第一個樣本的秩之和減去或不減去最小值:R相減,S-PLUS 不相減,給出的值大 對於第一個尺寸的樣本 。 (威爾科克森的原始論文似乎使用了未經調整的排名總和,但隨後的表格減去了最小值。)

R的值也可以計算為所有對的數量(x[i], y[j])為此y[j]不大於x[i],Mann-Whitney 測試的最常見定義。

例子

require(graphics)
## One-sample test.
## Hollander & Wolfe (1973), 29f.
## Hamilton depression scale factor measurements in 9 patients with
##  mixed anxiety and depression, taken at the first (x) and second
##  (y) visit after initiation of a therapy (administration of a
##  tranquilizer).
x <- c(1.83,  0.50,  1.62,  2.48, 1.68, 1.88, 1.55, 3.06, 1.30)
y <- c(0.878, 0.647, 0.598, 2.05, 1.06, 1.29, 1.06, 3.14, 1.29)
wilcox.test(x, y, paired = TRUE, alternative = "greater")
wilcox.test(y - x, alternative = "less")    # The same.
wilcox.test(y - x, alternative = "less",
            exact = FALSE, correct = FALSE) # H&W large sample
                                            # approximation

## Formula interface to one-sample and paired tests

depression <- data.frame(first = x, second = y, change = y - x)
wilcox.test(change ~ 1, data = depression)
wilcox.test(Pair(first, second) ~ 1, data = depression)

## Two-sample test.
## Hollander & Wolfe (1973), 69f.
## Permeability constants of the human chorioamnion (a placental
##  membrane) at term (x) and between 12 to 26 weeks gestational
##  age (y).  The alternative of interest is greater permeability
##  of the human chorioamnion for the term pregnancy.
x <- c(0.80, 0.83, 1.89, 1.04, 1.45, 1.38, 1.91, 1.64, 0.73, 1.46)
y <- c(1.15, 0.88, 0.90, 0.74, 1.21)
wilcox.test(x, y, alternative = "g")        # greater
wilcox.test(x, y, alternative = "greater",
            exact = FALSE, correct = FALSE) # H&W large sample
                                            # approximation

wilcox.test(rnorm(10), rnorm(10, 2), conf.int = TRUE)

## Formula interface.
boxplot(Ozone ~ Month, data = airquality)
wilcox.test(Ozone ~ Month, data = airquality,
            subset = Month %in% c(5, 8))

## accuracy in ties determination via 'digits.rank':
wilcox.test( 4:2,      3:1,     paired=TRUE) # Warning:  cannot compute exact p-value with ties
wilcox.test((4:2)/10, (3:1)/10, paired=TRUE) # no ties => *no* warning
wilcox.test((4:2)/10, (3:1)/10, paired=TRUE, digits.rank = 9) # same ties as (4:2, 3:1)

參考

David F. Bauer (1972). Constructing confidence sets using rank statistics. Journal of the American Statistical Association 67, 687-690. doi:10.1080/01621459.1972.10481279.

Myles Hollander and Douglas A. Wolfe (1973). Nonparametric Statistical Methods. New York: John Wiley & Sons. Pages 27-33 (one-sample), 68-75 (two-sample).
Or second edition (1999).

也可以看看

psignrankpwilcox

coin 包中的 wilcox_test 用於精確、漸近和蒙特卡羅條件 p 值,包括存在聯係的情況。

kruskal.test 用於在兩個或多個樣本的情況下測試位置參數的同質性; t.test 用於正態假設[或大樣本]下的替代方案

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Wilcoxon Rank Sum and Signed Rank Tests。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。