R語言pheatmap畫熱圖遇到的一個報錯

首先是準備數(shù)據(jù)

畫熱圖的數(shù)據(jù)
image.png

數(shù)據(jù)是隨便構(gòu)造的,沒啥意義

表示樣本的分組數(shù)據(jù)
image.png
表示基因的一個分組數(shù)據(jù)
image.png

作圖代碼

讀入數(shù)據(jù)
df1<-read.xlsx("heatmap/heatmap_example.xlsx",
               sheetName = "Sheet1",
               row.names=1)
df1
df2<-read.xlsx("heatmap/heatmap_example.xlsx",
               sheetName = "Sheet2",
               row.names=1)
df2
df3<-read.xlsx("heatmap/heatmap_example.xlsx",
               sheetName = "Sheet3",
               row.names=1)
df3
作圖
library(pheatmap)
anno_colors<-list(
  Group1=c(A="red",B="blue"),
  Group2=c(Up="red",Down="blue")
)
pheatmap(df1,
         annotation_row = df3,
         annotation_col = df2,
         annotation_colors = anno_colors)

這里遇到報錯
Error in convert_annotations(annotation_col, annotation_colors) : Factor levels on variable Group1 do not match with annotation_colors

大體能猜到是表示基因的分組信息和代碼里自定義顏色的部分對不上,可是檢查了好長時間也一直沒有發(fā)現(xiàn)問題在哪里,過了一段時間運行table(df3$Group2)命令的時候才發(fā)現(xiàn)了問題

image.png

table的輸出結(jié)果里默認的是右對齊,Up那個沒有對齊是以為p后面還有一個空格,最終報錯的原因是準備原始數(shù)據(jù)的時候不小心在文本后多加了一個空格,最終浪費了好長時間,做人途準備數(shù)據(jù)的時候一定要認真,這里的數(shù)據(jù)必須是完全對應(yīng)上才可以

最終的畫圖結(jié)果是

image.png

完整代碼

library(xlsx)
help(package="xlsx")
df1<-read.xlsx("heatmap/heatmap_example.xlsx",
               sheetName = "Sheet1",
               row.names=1)
df1
df2<-read.xlsx("heatmap/heatmap_example.xlsx",
               sheetName = "Sheet2",
               row.names=1)
df2
df3<-read.xlsx("heatmap/heatmap_example.xlsx",
               sheetName = "Sheet3",
               row.names=1)
df3

library(pheatmap)
anno_colors<-list(
  Group1=c(A="red",B="blue"),
  Group2=c(Up="red",Down="blue")
)
pheatmap(df1,
         annotation_row = df3,
         annotation_col = df2,
         annotation_colors = anno_colors)

示例數(shù)據(jù)自己模仿開頭的圖片自己構(gòu)造就可以啦,如果這個示例數(shù)據(jù)的話直接在文末留言就可以了

歡迎大家關(guān)注我的公眾號

小明的數(shù)據(jù)分析筆記本

小明的數(shù)據(jù)分析筆記本 公眾號 主要分享:1、R語言和python做數(shù)據(jù)分析和數(shù)據(jù)可視化的簡單小例子;2、園藝植物相關(guān)轉(zhuǎn)錄組學(xué)、基因組學(xué)、群體遺傳學(xué)文獻閱讀筆記;3、生物信息學(xué)入門學(xué)習(xí)資料及自己的學(xué)習(xí)筆記!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容