【问题标题】:Pheatmap - Annotation: Subscript out of bounds errorPheatmap - 注释:下标越界错误
【发布时间】:2020-02-11 11:16:59
【问题描述】:

测试 RDatahttps://www.dropbox.com/s/hy56owg4mfjuxol/Test_Data.RData?dl=0

CSVhttps://www.dropbox.com/s/hs6qpoxyg54ehid/Test_Data.csv?dl=0

注解: https://www.dropbox.com/s/akv66euwh3ulia2/Test_Data_Annotation?dl=0

绘制此数据集按预期运行:

pheatmap(t(pred.MDSC), fontsize=8)

但是,如果我随后尝试向其添加注释(使用文件中的 anno DF):

pheatmap(t(pred.MDSC),fontsize=8,labels_col = rownames(anno), show_colnames = TRUE, annotation_col = anno)

返回错误:

Error in annotation_colors[[colnames(annotation)[i]]] : 
  subscript out of bounds

我做错了什么?

【问题讨论】:

  • pred.MDSC 的类是什么?它是一个列表吗?我的计算机无法加载您的 RData 文件。也许您可以尝试其他方式来提供您的数据,例如dput
  • @DarrenTsai 我已经更新了文件。 pred.MDSC 现在是一个简单的 DF。
  • 加载您的 .Rdata 会引发错误。请以 .csv 或 .txt 格式提供数据。
  • 这与我发布的this one 相同。在绘图前运行rownames(pred.MDSC) <- 1:nrow(pred.MDSC)。原因已在答案中说明。
  • @DarrenTsai 谢谢。那行得通。随意发布它作为答案。

标签: r pheatmap


【解决方案1】:

要解决此问题,您可以先转置数据,使重复的​​行名成为列名。然后将文件读取为

df <- read.csv("Test_Data.csv", row.names = 1)

pheatmap(df, fontsize=8)

这给了你

您可以从这里获取用于绘图的数据 https://www.dropbox.com/s/vco1rd5uelyoui9/Test_Data.csv?dl=0

【讨论】:

    猜你喜欢
    • 2015-04-03
    • 2015-02-11
    • 2014-08-31
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    • 2012-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多