1

我试图在 pheatmap 中开发细胞因子注释并收到错误消息

seq.int(rx[1L], rx[2L], length.out = nb) 中的错误:'from' 必须是有限的

R 版本 3.3.3 pheatmap_1.0.8

可重现的例子:

#Using cytokine annotations
M<-matrix(rnorm(8*20),ncol=8)
row_annotation<-data.frame(A=gl(4,nrow(M)/4),B=gl(4,nrow(M)/4))
eg<-expand.grid(factor(c(0,1)),factor(c(0,1)),factor(c(0,1)))
colnames(eg)<-c("IFNg","TNFa","IL2")
rownames(eg)<-apply(eg,1,function(x)paste0(x,collapse=""))
rownames(M)<-1:nrow(M)
colnames(M)<-rownames(eg)
cytokine_annotation=eg
pheatmap(M,annotation=annotation,row_annotation=row_annotation,annotation_legend=TRUE,row_annotation_legend=TRUE,cluster_rows=FALSE,cytokine_annotation=cytokine_annotation,cluster_cols=FALSE)
4

2 回答 2

0

在我的带有 pheatmap_1.0.8 的 R 3.3.3 上,以下代码有效:

set.seed(1)
M <- matrix(rnorm(8*20),ncol=8)
row_annotation <- data.frame(A=gl(4,nrow(M)/4),B=gl(4,nrow(M)/4))
eg <- expand.grid(factor(c(0,1)),factor(c(0,1)),factor(c(0,1)))
colnames(eg) <- c("IFNg","TNFa","IL2")
rownames(eg) <- apply(eg,1,function(x)paste0(x,collapse=""))
rownames(M) <- 1:nrow(M)
colnames(M) <- rownames(eg)
cytokine_annotation <- eg
library(pheatmap)
pheatmap(M, annotation=cytokine_annotation, row_annotation=row_annotation,
            annotation_legend=TRUE, row_annotation_legend=TRUE, cluster_rows=FALSE,
            cytokine_annotation=cytokine_annotation, cluster_cols=FALSE)

在此处输入图像描述

于 2017-09-25T09:15:59.653 回答
0

我也遇到了这个问题,发现只需重新启动 R 就可以解决这个问题。

于 2021-03-08T07:08:05.483 回答