第十三講 R-配對樣本Wilcoxon檢驗

2021-02-20 投必得醫學

在「R與生物統計專題」中,我們會從介紹R的基本知識展開到生物統計原理及其在R中的實現。以從淺入深,層層遞進的形式在投必得醫學公眾號更新。


第十二講 R-配對樣本t檢驗中,我們講到了配對樣本t檢驗的假設條件是兩組間差值分布需要符合正態性。

但是,當樣本差值分布非正態,且經過一定的數值轉換嘗試後,仍然無法滿足正態性要求時,配對樣本的Wilcoxon符號秩檢驗成為備選方法,它將非正態樣本的差值的中位數與0進行比較。它是一種非參數樣本檢驗,基於樣本差值的秩次排列,而非平均值。

當兩樣本差值呈非正態分布時,選擇Wilcoxon檢驗。可以使用Shapiro-Wilk test進行檢查。請參看

第六講 R-數據正態分布檢驗


樣本差值的中位數(m)是否等於0?

樣本差值的中位數(m)是否小於0?

樣本差值的中位數(m)是否大於0?


在統計數據中,我們可以定義相應的無效假設(H0) 如下:

相應的備擇假設(H1)如下:

H1:

m ≠ 0 (不同)

H1:

m> 0(大於)

H1:

m< 0(小於)


配對樣本Wilcoxon符號秩統計量的思想是:

首先把配對的兩樣本組各個個體的差值的絕對值|X1|、|X2|、|X3|……|Xn|進行排序,其順序統計量為|X|(1)、|X|(2)、|X|(3)……|X|(n)。

如果配對兩組的數據相同,則其差值會關於零點對稱,對稱中心兩側數據的疏密和取負值的數據交錯出現,取正值數據在樣本絕對值樣本中的秩和與取負值數據在絕對值樣本中的秩和應近似相等,概率均為0.5。

在求得正值秩和和負值秩和後,通過較小秩和和自由度(n-1)查詢相應T界值表,獲得相應P值。

如果p值低於或等於顯著性水平0.05,我們可以拒絕無效假設並接受備擇假設。換句話說,我們得出結論,兩組數據的差值的中位數與0有顯著差異。


可以使用R函數wilcox.test()計算單樣本Wilcoxon檢驗:

wilcox.test(x, y, paired=TRUE, alternative = "two.sided")


我們將使用一個示例,其中包含治療前後10隻小鼠的體重。

# 治療前小鼠體重before <-c(15.4,25.3,25.6,34.7,28.8,18.9,30.0,16.7,15.8,27.7)# 治療後小鼠的體重after <-c(5.5,5.4,5.7,15.7,18.7,72.5,72.4,37.0,66.7,60.0)

my_data <- data.frame(group = rep(c("before", "after"), each = 10),weight = c(before,  after))

我們想知道,治療前後體重是否有顯著差異?

輸出結果

group weight1  before   15.42  before   25.33  before   25.64  before   34.75  before   28.86  before   18.97  before   30.08  before   16.79  before   15.810 before   27.711  after    5.512  after    5.413  after    5.714  after   15.715  after   18.716  after   72.517  after   72.418  after   37.019  after   66.720  after   60.0

使用dplyr軟體包按組計算統計信息(平均值和標準差)。

install.packages("dplyr")

library("dplyr")group_by(my_data, group) %>%summarise(count = n(),mean = mean(weight, na.rm = TRUE),sd = sd(weight, na.rm = TRUE))

輸出結果:

Source: local data frame [2 x 4]group count   mean       sd(fctr) (int)  (dbl)    (dbl)1 after     10  36.0 29.22 before    10  23.9  6.76


(請參看第五講 R-數據描述性統計分析作圖)


箱形圖顯示了增長與否,但丟失了配對信息。我們可以使用功能plot.paired()[在pairedData包中]繪製配對數據(「 before-after」圖)。

install.packages("PairedData")

before <- subset(my_data,  group == "before", weight,drop = TRUE)after <- subset(my_data,  group == "after", weight,drop = TRUE)

library(PairedData)pd <- paired(before, after)plot(pd, type = "profile") + theme_bw()


2.4 初步檢驗配對樣本t檢驗的假設條件(正態性檢驗)

(請參看第六講 R-數據正態分布檢驗)

假設1:兩個樣本是否配對?

是的,因為通過測量相同小鼠體重治療前後兩次來收集數據。

假設2:這是一個大樣本嗎?

否,因為n <30。由於樣本大小不夠大(小於30),我們需要檢查對的差異是否遵循正態分布。

如何檢查正常性?

# 計算之前前後的差異d <- with(my_data, weight[group == "before"] - weight[group == "after"])

從輸出中,p值大於顯著性水平0.05,表明差值(d)的分布與正態分布沒有顯著差異。說明差值(d)不符合正態分布,不可以使用配對樣本t檢驗。


res <- wilcox.test(weight ~ group, data = my_data, paired = TRUE)res

輸出結果

Wilcoxon signed rank testdata:  weight by groupV = 40, p-value = 0.2324alternative hypothesis: true location shift is not equal to 0

在上面的結果中:

也可以使用如下代碼,輸出內容一樣。

res <- wilcox.test(weight ~ group, data = my_data, paired = TRUE)res


檢驗的p值為 0.23,大於顯著性水平alpha = 0.05。然後我們可以肯定原假設,並得出結論,治療前小鼠的體重與治療後小鼠的沒有顯著不同,p值 = 0.23。

2.7 獲得wilcox.test()函數的返回值

(請參看第九講 R-單樣本wilcox檢驗)


當然啦,R語言的掌握是在長期訓練中慢慢積累的。一個人學習太累,不妨加入「R與統計交流群」,和數百位碩博一起學習。


快掃二維碼撩客服,

帶你進入投必得醫學交流群,

讓我們共同進步!

↓↓


- END -


長按二維碼關注「投必得醫學」,更多科研乾貨在等你!

相關焦點

  • 非參數檢驗-配對樣本的Wilcoxon符號秩和檢驗
    之前我們學習了單樣本的K-S檢驗常用來檢測數據是否滿足正態分布,並不是單樣本t檢驗的代替方法。
  • R語言統計篇:配對t檢驗
    單樣本t檢驗;2. 獨立樣本t檢驗;3. 配對t檢驗。往期文章介紹了單樣本t檢驗(R語言統計篇:單樣本t檢驗)以及獨立樣本t檢驗(R語言統計篇:獨立樣本t檢驗),今天介紹配對t檢驗(Paired t-test)。
  • t檢驗中t值的意義 - CSDN
    非參數原假設(零假設):檢驗了兩個相關配對樣本x,y來自同一分布的。非參數檢驗具有無需對總體分布作假定的優點,而就成對觀察值作的參數方式的T檢驗,必須假定有關的差別總體服從正態分布。思想:檢驗x-y的分布是否關於零對稱。它是兩樣本t檢驗的非參數版本。使用條件:由於正態近似用於計算,因此使用的樣本應該很大。一般是要求n> 20。
  • 手把手教你用 GraphPad 做配對樣本 t 檢驗
    今天給大家介紹一下它的統計分析功能——配對樣本(paired)t 檢驗。 配對 t 檢驗中的數據是每行代表一個不同的主題(或一組不同的匹配數據),用行標題進行標記。請注意,與許多統計程序不同,組和主題不是通過將變量分組來定義的。相反,每列定義一個單獨的組,每行代表一個不同的主題。
  • R語言:t檢驗
    BioNews,專注於報導生命科學領域相關新聞,長按下方二維碼即可關注"BioNews"(id : iBioNews)1. t分布(不同自由度)了解r語言幾個函數單樣本t檢驗(使用教材光碟血紅蛋白數據: 例03-05.sav)前提條件:取自正態分布的小樣本(<=60, 偏態用秩和檢驗);或者取自任意分布的大樣本(>60)# install.packages("memisc")library(memisc)## Loading required package: lattice
  • r語言兩樣本檢驗 - CSDN
    t檢驗也稱為student t檢驗,可以用來比較兩個均值的差異是否顯著,可分為單總體檢驗、雙總體檢驗、配對樣本檢驗。1.1歷史要了解t檢驗,就不得不提及他的發明者威廉·西利·戈塞特(William Sealy Gosset)。戈塞特先生作為一個擁有化學和數學兩個學位的牛津大學新秀,於1899年因化學專長進入愛爾蘭都柏林的吉尼斯釀造公司工作。
  • r 秩和檢驗 - CSDN
    所述配對雙樣品的Wilcoxon檢驗一種的非參數檢驗,其可以被用於比較樣品的兩個獨立數據。 本文介紹如何在ř中計算兩個樣本的秩檢驗。
  • r語言卡方檢驗和似然比檢驗_r語言似然比檢驗代碼 - CSDN
    假設檢驗回顧:首先對總體分布參數作零假設H0, 從總體分布中抽樣,通過樣本計算統計量對總體參數進行推斷。假定H0為真,如果計算獲得的觀測樣本的統計量的概率非常小,便可以拒絕原假設,接受備擇假設H1。pwr.r.test()相關係數pwr.t.test()t檢驗(單樣本、兩樣本、配對)pwr.t2n.test()
  • 兩獨立樣本的T檢驗
    在前面幾次更新中,小編已經連續推送單樣本T檢驗和配對設計T檢驗,詳情看這裡:單樣本資料的t檢驗(案例篇),配對設計的t檢驗    兩獨立樣本T檢驗是利用來自兩個總體的獨立樣本,去推斷兩個總體的均值是否存在顯著差異。(現實生活中,我們想比較兩個班級之間的成績;比較城市和農村的幸福指數等。)
  • r語言 t檢驗 假設 - CSDN
    假設檢驗 -T檢驗 -F檢驗 -卡方檢驗 -正太性檢驗T檢驗2兩樣本的T檢驗 -有原始數據的獨立兩樣本T檢測 -有原始數據的配對T檢測 實例如下: Wage 數據中大學學歷的收入和中學一樣嗎
  • 配對t檢驗-SPSS與Rzhan
    今天介紹配對t檢驗老規矩先看我的思維導圖,通過這個圖可以讓大家對配對t檢驗有一個初步了解
  • 兩樣本t檢驗原理與R語言實現
    t檢驗也稱為student t檢驗,可以用來比較兩個均值的差異是否顯著,可分為單總體檢驗、雙總體檢驗、配對樣本檢驗。1.1歷史要了解t檢驗,就不得不提及他的發明者威廉·西利·戈塞特(William Sealy Gosset)。
  • R與生物專題 | 第六講 R-數據正態分布檢驗
    library("ggpubr")ggdensity(my_data$Sepal.Length,main = "Density plot of sepal length",xlab = "sepal length")
  • 【方法】相關係數的計算與顯著性檢驗
    樣本相關係數可以用來對論文中建立的統計模型進行驗證,也可以用來進行元分析。相關係數的計算和顯著性檢驗是一個很輕鬆的工作——通常情況下,研究者會使用SPSS計算SPSS中各變量的相關,SPSS也直接提供了對相關係數的顯著性檢驗,研究者需要做的就是點點滑鼠,然後將結果抄寫在論文中。
  • 樣本量n>30時,還能繼續使用T檢驗嗎?
    (原作者Lynn)很多書上都這樣講:T和Z檢驗公式適合不同類型的試題,可是在講SPSS操作部分時,所有類型的題目用SPSS裡的t檢驗計算了。比如,按照書上手算部分的講解,只適合Z 檢驗的例題,可SPSS操作部分卻用的是T檢驗,前面和費勁地講解兩個公式的區別,後面卻又一樣了,如何解釋?
  • r語言的p值檢驗 - CSDN
    輸入1: rdata = matrix(rnorm(1000* 6, 0, 3), 6) rvar = apply(rdata, 2, var) mean(rvar)結果1: ,colour="blue",fill="white") +labs(x="樣本方差")+theme_bw(base_size = 14)rvar1 = 5 * rvar/9p2 <- ggplot(data.frame(rvar1),aes(x=rvar1))+geom_histogram(bins=20,aes(y=..density..)
  • T檢驗、F檢驗和卡方檢驗
    檢驗方法應用場景T檢驗比較兩個樣本均值是否有差異F檢驗比較兩個及兩個以上樣本均值是否有差異卡方檢驗比較兩組或者多組之間的分類型變量是否差異T檢驗T檢驗又稱學生T檢驗,用於統計量服從正態分布,總體方差未知且樣本量較小(n<30)情況下,用來比較兩個均值差異是否顯著。
  • r語言卡方檢驗算法_r語言符號檢驗算法 - CSDN
    解2:    因為數據是成對出現的,所以採用成對數據t檢驗比上述的雙樣本均值檢驗更準確。並且P值更小可見比雙樣本均值檢驗更準確   例3.    H0:對相同痰樣本測定中,甲乙兩種方法檢出率沒有差異。
  • t檢驗 方差分析 - CSDN
    配對樣本t檢驗:配對樣本t檢驗可視為單樣本t檢驗的擴展,其實質就是對差值進行單樣本t檢驗。兩配對樣本的非參數檢驗兩配對樣本的非參數檢驗是對總體分布不甚了解的情況下,通過對兩組配對樣本的分析,推斷樣本來自的兩個總體的分布是否存在顯著差異的方法。SPSS提供的兩配對樣本非參數檢驗的方法主要包括McNemar檢驗、符號檢驗、Wilcoxon符號秩檢驗等。
  • t檢驗的目的_單樣本t檢驗的目的 - CSDN
    T檢驗和F檢驗的關係另一種解釋:t檢驗有單樣本t檢驗,配對t檢驗和兩樣本t檢驗。單樣本t檢驗:是用樣本均數代表的未知總體均數和已知總體均數進行比較,來觀察此組樣本與總體的差異性。    在交叉表的獨立性檢驗和同質性檢驗中,自由度為(r-1)×(c-1)。