溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ggpubr怎么使用

發(fā)布時(shí)間:2022-03-19 09:59:30 來源:億速云 閱讀:291 作者:iii 欄目:開發(fā)技術(shù)

今天小編給大家分享一下ggpubr怎么使用的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

如何定義差異:

說道差異大家首先想到的肯定是生物學(xué)上的差異,例如同一基因在兩個(gè)樣品間的表達(dá)差異倍數(shù),一般這個(gè)倍數(shù)從1.2、1.5、2倍都是可以的(轉(zhuǎn)錄組里面一般是按2倍作為篩選指標(biāo),小編覺得1.2、1.5也是可以接受的)。

另一方面,我們也應(yīng)考慮隨機(jī)誤差,因?yàn)槲覀儫o法消除誤差,看上去完美的數(shù)據(jù)也有可能是隨機(jī)誤差造成的,所以,我們?cè)陉P(guān)注生物學(xué)差異之外,還要考慮統(tǒng)計(jì)學(xué)差異。

以上兩種差異都是客觀上存在的,我們當(dāng)然是希望數(shù)據(jù)差異是由實(shí)驗(yàn)處理造成的,但隨機(jī)誤差又是客觀存在的,所以隨機(jī)誤差發(fā)生的概率越小越好。

如何衡量隨機(jī)誤差?

P值(P-value),想必大家都不會(huì)陌生,它是用來判定假設(shè)檢驗(yàn)結(jié)果的一個(gè)參數(shù),說直白點(diǎn)就是P值代表了一種可能性,衡量的是隨機(jī)出錯(cuò)的概率。在統(tǒng)計(jì)學(xué)中,一般要求P值小于0.05;如果P-value=0.05,意味著我們的實(shí)驗(yàn)結(jié)果有5%的概率是隨機(jī)誤差引起的。 

我們經(jīng)常用到這樣的論述p<0.05(顯著),可用一顆星號(hào)表示“*”,而兩顆星“**”代表p<0.01(極顯著);那是不是p<0.01的數(shù)據(jù)比p<0.05的好,組間的差異也更大呢?答案是否定的!P值衡量的是隨機(jī)出錯(cuò)的概率,不能衡量差異量變大小,所以我們不能說一個(gè)P值<0.01的結(jié)果比P值<0.05的結(jié)果具有更大的差異,只能說前者出錯(cuò)的概率更低,或者說組間“差異有統(tǒng)計(jì)意義”,而不是組間“具有顯著的差異”。

P值的計(jì)算:

P值的算法有很多種,最常用的是T檢驗(yàn)(T-test),亦稱student t檢驗(yàn)(Student's t test),主要用于樣本含量較小(例如n < 30),總體標(biāo)準(zhǔn)差σ未知的正態(tài)分布。T檢驗(yàn)是用t分布理論來推論差異發(fā)生的概率,從而比較兩個(gè)平均數(shù)的差異是否顯著。在R語言中T檢驗(yàn)用的方法為:t.test(),如果數(shù)據(jù)不符合正態(tài)分布,也就是數(shù)據(jù)當(dāng)中有較大的離群值時(shí),可選用非參數(shù)秩和檢驗(yàn)法,如Wilcoxon test,R語言中對(duì)應(yīng)的方法為:wilcox.test()。關(guān)于數(shù)據(jù)類型及檢驗(yàn)方法的選擇可參考:差異統(tǒng)計(jì)檢驗(yàn)如何選擇。

單樣品T檢驗(yàn)

例:某魚塘水的含氧量多年平均值為4.5mg/L,現(xiàn)在該魚塘設(shè)10點(diǎn)采集水樣,問該次抽樣的水中含氧量與多年平均值是否有顯著差異。

#數(shù)據(jù)
s<-c(4.33,4.62,3.89,4.14,4.78,4.64,4.52,4.55,4.48,4.26)
shapiro.test(s)   #如果P>0.05 符合正態(tài)分布
t.test(s,mu=4.5)  #T檢驗(yàn), 如果 P>0.05 相等

非配對(duì)兩樣本T檢驗(yàn)

例:為了了解某一降血壓藥物的效果,將28名高血壓病患者隨機(jī)等分到實(shí)驗(yàn)組和對(duì)照組,實(shí)驗(yàn)組采用新降壓藥物,對(duì)照組則用標(biāo)準(zhǔn)藥物治療,測(cè)得治療前后舒張壓的差值如下。問新藥和標(biāo)準(zhǔn)藥的療效是否不同?

high<-c(134,146,106,119,124,161,107,83,113,129,97,123)
low<-c(70,118,101,85,107,132,94)
x<-c(high,low)
group<-c(rep("high",12),rep("low",7))

#正態(tài)性檢驗(yàn),wilcox.test()
shapiro.test(high)  #如果P>0.05 符合正態(tài)分布
shapiro.test(low)   #如果P>0.05 符合正態(tài)分布

#方差齊性檢驗(yàn):如果P>0.05 方差齊
bartlett.test(x~group)
#方法二:car包中l(wèi)eveneTest 檢驗(yàn),spss統(tǒng)計(jì)軟件默認(rèn)的檢驗(yàn)方法
leveneTest(x~group) 

#T檢驗(yàn), 如果 P<0.05 存在差異

t.test(high,low,paired=F,var.equal=T)   #如果方差不齊,可更改:var.equal=F,
#或者:
t.test(x~group,paired=F,var.equal=T)

配對(duì)兩樣本T檢驗(yàn)

例:為了解DSCT冠狀動(dòng)脈造影和超聲心動(dòng)圖檢查兩種方法測(cè)定心臟病患者左室舒張末容積的差別,某醫(yī)院收集心臟病患者12例,同時(shí)分別用兩種檢測(cè)方法測(cè)得其大小如下,問兩種檢測(cè)方法的檢測(cè)結(jié)果是否不同?

ds<-c(82.5,85.2,87.6,89.9,89.4,90.1,87.8,87.0,88.5,92.4)
cs<-c(91.7,94.2,93.3,97.0,96.4,91.5,97.2,96.2,98.5,95.8)

#方差齊性檢驗(yàn),car包中l(wèi)eveneTest
leveneTest(ds,cs) 
#作差,正態(tài)性檢驗(yàn)
#差值正態(tài)性檢驗(yàn),差值符合正態(tài)分布(P>0.05)
d<-ds-cs
shapiro.test(d)

#配對(duì)T檢驗(yàn)
t.test(ds,cs,paired=T,alternative="two.sided",conf.level=0.95)

統(tǒng)計(jì)檢驗(yàn)及繪圖-ggpubr

ggpubr包既可以做檢驗(yàn),有可以對(duì)統(tǒng)計(jì)結(jié)果進(jìn)行整理繪圖,輸出結(jié)果比t檢驗(yàn)更加友好。

例:兩種基因型(HH、RR)的水稻品種,分別在高氮和低氮條件下,的測(cè)FW、DW和PH三種生理指標(biāo)數(shù)據(jù):

women_weight <- c(38.9, 61.2, 73.3, 21.8, 63.4, 64.6, 48.4, 48.8, 48.5)
men_weight <- c(67.8, 60, 63.4, 76, 89.4, 73.3, 67.3, 61.3, 62.4) 
mydata <- data.frame( 
                group = rep(c("Woman", "Man"), each = 9),
                weight = c(women_weight,  men_weight)
                )

#統(tǒng)計(jì)檢驗(yàn)

com1 <- compare_means( weight~ group , data = mydata, method = "t.test")

#結(jié)果P=0.015,小于0.05,具有顯著差異:
#.y.    group1 group2      p p.adj p.format p.signif method

# weight Man    Woman  0.0154 0.015 0.015    *        T-test

繪圖顯示

install.packages("ggpubr")
library(ggpubr)
p <- ggboxplot(mydata, x="group", y = "weight", color = "group", palette = "jco", add = "jitter",  short.panel.labs = FALSE)

# 添加p值
p + stat_compare_means(method = "t.test",label.y=100)
# 顯示p值但不顯示方法
p + stat_compare_means(aes(label = ..p.format..),method = "t.test",label.x = 1.5)

# 只顯示顯著性水平
p + stat_compare_means(aes(label = ..p.signif..),method = "t.test",label.x = 1.5)

以上就是“ggpubr怎么使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI