科研繪圖模板之多組差異箱線圖

多組差異箱線圖(Multiple Group Comparison Boxplot)是一種統(tǒng)計圖形,用于展示并比較兩個或更多不同組別或分類變量在數(shù)值分布上的差異。這種圖形特別適合于展示中位數(shù)、四分位數(shù)和異常值,同時可以通過顏色、分組或不同的填充樣式區(qū)分不同的組別。箱線圖對于檢測和比較不同數(shù)據(jù)集的分散情況和中心位置非常有用。

箱線圖的組成部分

  1. 中位線(Median Line):箱子中間的線,表示數(shù)據(jù)的中位數(shù)。
  2. 箱體(Box):箱體的上邊界和下邊界分別是數(shù)據(jù)的上四分位數(shù)(Q3)和下四分位數(shù)(Q1)。箱體的高度(IQR,四分位距)是這兩個四分位數(shù)的差值,用來衡量數(shù)據(jù)的集中趨勢。
  3. 須(Whiskers):從箱體延伸出的線段,通常延伸到Q1 - 1.5IQR和Q3 + 1.5IQR的位置。它們表示數(shù)據(jù)中的正常變異范圍。
  4. 異常值(Outliers):通常用小點表示,這些是落在須之外的數(shù)據(jù)點。

多組差異箱線圖的用途

多組差異箱線圖可以用于比較如下方面:

  • 不同條件或時間點下的數(shù)據(jù)分布:比如,可以用來比較不同時間點或不同實驗條件下的生物樣本數(shù)據(jù)。
  • 組間差異的直觀展示:可以清楚地看到不同組在中位數(shù)、四分位數(shù)和異常值方面的差異。
  • 發(fā)現(xiàn)潛在的異常值和數(shù)據(jù)分布特征:幫助研究人員識別數(shù)據(jù)中可能的異常點或分布的偏態(tài)。

統(tǒng)計檢驗

在多組差異箱線圖中,常常配合統(tǒng)計檢驗來評估組間差異的顯著性,如ANOVA、t-test、Wilcoxon秩和檢驗等。這些檢驗結果可以通過在箱線圖上添加注釋(例如星號或P值)來直觀表示。

示例

# 加載必要的庫
library(reshape2)
library(ggpubr)

# 設置文件路徑和工作目錄
inputFile <- "input.txt"
outFile <- "boxplot.pdf"

# 讀取數(shù)據(jù)
rt <- read.table(inputFile, sep="\t", header=TRUE, check.names=FALSE, row.names=1)
colnames(rt)[1] <- "Type"

# 數(shù)據(jù)轉換為ggplot2的長格式
data <- melt(rt, id.vars="Type")
colnames(data) <- c("Type", "Gene", "Expression")

# 繪制帶有統(tǒng)計檢驗的箱線圖
p <- ggboxplot(data, x="Gene", y="Expression", color="Type", 
               ylab="Gene expression", xlab="", legend.title="Type",
               palette=c("blue", "red"), width=0.6) +
     rotate_x_text(60) +
     stat_compare_means(aes(group=Type), method="wilcox.test",
                        symnum.args=list(cutpoints=c(0, 0.001, 0.01, 0.05, 1), symbols=c("***", "**", "*", " ")))

# 輸出圖片
ggsave(outFile, plot=p, width=6, height=5)

  • reshape2:用于數(shù)據(jù)的重塑,尤其是將數(shù)據(jù)從寬格式轉換為長格式,適用于ggplot2進行作圖。

  • ggpubr:是基于ggplot2的擴展,提供了更為簡便的方式來生成統(tǒng)計圖形,并且支持添加統(tǒng)計檢驗結果。

  • inputFileoutFile分別設置了輸入和輸出文件的路徑。

  • read.table()從指定的輸入文件中讀取數(shù)據(jù)。這里假設數(shù)據(jù)是用制表符分隔的,并且第一行包含列標題,第一列被設置為行名(通常代表樣本或實驗條件)。

  • 數(shù)據(jù)的第一列被重新命名為"Type",這通常表示數(shù)據(jù)中的分類變量,例如實驗的不同處理組。

  • melt()函數(shù)將數(shù)據(jù)從寬格式轉換為長格式,這是為了使數(shù)據(jù)格式適應ggplot2的作圖要求。id.vars="Type"指定了"Type"列作為保持不變的標識變量,其他變量則被視為測量變量。

  • 修改后的數(shù)據(jù)框data的列名被設為"Type"、"Gene"和"Expression",以明確表示每列數(shù)據(jù)的含義,其中"Gene"可能代表不同的基因,"Expression"表示基因表達量。

  • ggboxplot()函數(shù)用于生成箱線圖,其中x="Gene"y="Expression"指定了x軸和y軸的數(shù)據(jù),color="Type"根據(jù)類型給不同的箱體上色。

  • rotate_x_text(60)將x軸的文本標簽旋轉60度,使之更容易閱讀。

  • stat_compare_means()添加統(tǒng)計檢驗結果到圖形上,這里使用的是Wilcoxon檢驗,符號表示的是不同顯著性水平。

  • ggsave()函數(shù)用于保存生成的圖形到指定的文件,這里是PDF格式。通過指定widthheight參數(shù),可以控制輸出文件的尺寸。

image.png
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 箱線圖(Box Plot),又稱為盒須圖、盒式圖或箱圖,是一種用于顯示一組數(shù)據(jù)分布情況的統(tǒng)計圖表。它能夠展示數(shù)據(jù)的...
    Bioinfor生信云閱讀 3,744評論 0 1
  • 箱線分面圖(Boxplot Faceting)用于展示一個或多個分組變量的統(tǒng)計分布。通過將箱線圖按照某個分類變量的...
    Bioinfor生信云閱讀 635評論 0 1
  • 前面小編已經(jīng)給大家介紹了很多繪圖小工具,小伙伴們私信給我: “原來需要大半天才能做出一個圖,現(xiàn)在的小工具幾分鐘就可...
    生信學霸閱讀 3,331評論 0 2
  • “ 箱線圖是利用數(shù)據(jù)的五個統(tǒng)計量,最小值,第一四分位數(shù),中位數(shù),第三四分位數(shù),最大值來描述數(shù)據(jù)的一種方法,一般來說...
    onlybugs閱讀 1,074評論 0 0
  • 最近考種數(shù)據(jù)回來了,今年測得單株,本想用箱線圖表示,后來一并把小提琴圖也做了,順便做個筆記吧。 利用SUMIF對相...
    ShawnMagic閱讀 13,317評論 2 74

友情鏈接更多精彩內(nèi)容