您好,登錄后才能下訂單哦!
今天小編給大家分享一下ggpubr怎么使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
如何定義差異:
說道差異大家首先想到的肯定是生物學上的差異,例如同一基因在兩個樣品間的表達差異倍數,一般這個倍數從1.2、1.5、2倍都是可以的(轉錄組里面一般是按2倍作為篩選指標,小編覺得1.2、1.5也是可以接受的)。
另一方面,我們也應考慮隨機誤差,因為我們無法消除誤差,看上去完美的數據也有可能是隨機誤差造成的,所以,我們在關注生物學差異之外,還要考慮統計學差異。
以上兩種差異都是客觀上存在的,我們當然是希望數據差異是由實驗處理造成的,但隨機誤差又是客觀存在的,所以隨機誤差發生的概率越小越好。
如何衡量隨機誤差?
P值(P-value),想必大家都不會陌生,它是用來判定假設檢驗結果的一個參數,說直白點就是P值代表了一種可能性,衡量的是隨機出錯的概率。在統計學中,一般要求P值小于0.05;如果P-value=0.05,意味著我們的實驗結果有5%的概率是隨機誤差引起的。
我們經常用到這樣的論述p<0.05(顯著),可用一顆星號表示“*”,而兩顆星“**”代表p<0.01(極顯著);那是不是p<0.01的數據比p<0.05的好,組間的差異也更大呢?答案是否定的!P值衡量的是隨機出錯的概率,不能衡量差異量變大小,所以我們不能說一個P值<0.01的結果比P值<0.05的結果具有更大的差異,只能說前者出錯的概率更低,或者說組間“差異有統計意義”,而不是組間“具有顯著的差異”。
P值的計算:
P值的算法有很多種,最常用的是T檢驗(T-test),亦稱student t檢驗(Student's t test),主要用于樣本含量較小(例如n < 30),總體標準差σ未知的正態分布。T檢驗是用t分布理論來推論差異發生的概率,從而比較兩個平均數的差異是否顯著。在R語言中T檢驗用的方法為:t.test(),如果數據不符合正態分布,也就是數據當中有較大的離群值時,可選用非參數秩和檢驗法,如Wilcoxon test,R語言中對應的方法為:wilcox.test()。關于數據類型及檢驗方法的選擇可參考:差異統計檢驗如何選擇。
例:某魚塘水的含氧量多年平均值為4.5mg/L,現在該魚塘設10點采集水樣,問該次抽樣的水中含氧量與多年平均值是否有顯著差異。
#數據 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.test(s,mu=4.5) #T檢驗, 如果 P>0.05 相等
例:為了了解某一降血壓藥物的效果,將28名高血壓病患者隨機等分到實驗組和對照組,實驗組采用新降壓藥物,對照組則用標準藥物治療,測得治療前后舒張壓的差值如下。問新藥和標準藥的療效是否不同?
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)) #正態性檢驗,wilcox.test() shapiro.test(high) #如果P>0.05 符合正態分布 shapiro.test(low) #如果P>0.05 符合正態分布 #方差齊性檢驗:如果P>0.05 方差齊 bartlett.test(x~group) #方法二:car包中leveneTest 檢驗,spss統計軟件默認的檢驗方法 leveneTest(x~group) #T檢驗, 如果 P<0.05 存在差異 t.test(high,low,paired=F,var.equal=T) #如果方差不齊,可更改:var.equal=F, #或者: t.test(x~group,paired=F,var.equal=T)
例:為了解DSCT冠狀動脈造影和超聲心動圖檢查兩種方法測定心臟病患者左室舒張末容積的差別,某醫院收集心臟病患者12例,同時分別用兩種檢測方法測得其大小如下,問兩種檢測方法的檢測結果是否不同?
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) #方差齊性檢驗,car包中leveneTest leveneTest(ds,cs) #作差,正態性檢驗 #差值正態性檢驗,差值符合正態分布(P>0.05) d<-ds-cs shapiro.test(d) #配對T檢驗 t.test(ds,cs,paired=T,alternative="two.sided",conf.level=0.95)
ggpubr包既可以做檢驗,有可以對統計結果進行整理繪圖,輸出結果比t檢驗更加友好。
例:兩種基因型(HH、RR)的水稻品種,分別在高氮和低氮條件下,的測FW、DW和PH三種生理指標數據:
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) ) #統計檢驗 com1 <- compare_means( weight~ group , data = mydata, method = "t.test") #結果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怎么使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。