pheatmap scale ="row"在hclust中给出错误(d,method = method):外部函数调用中的NA/NaN/Inf

vch*_*ngs 5 scaling r heatmap na pheatmap

我正在尝试用R中的包pheatmap创建一个带有基因表达值的热图.我已经多次使用该代码,直到今天仍然没有问题.看来当我做scale ="row"时,我最终得到了这个错误.我无法创建z分数.因此,可能某些行没有可变性,因此发生这种情况.我怎么能摆脱这个.矩阵具有1100行和9列.我的代码:

data  <- read.table("~path/DEGs_DESeq.txt",sep="\t")
data2 <- as.matrix(data[,2:9])
data3 <- data2[-1,]
samples <- data2[1,]
genes <- data[2:length(data2[,1]),1]
vett <- as.numeric(data3)
data4 <- matrix(vett, length(genes), length(samples), dimnames=list(paste(genes),paste(samples))) 
head(data4)

pheatmap(as.matrix(data4), col=bluered(200), scale="row", key=T, keysize=1.5,
    density.info="none", trace="none",cexCol=0.6, fontsize_row=8, fontsize_col=10)
Run Code Online (Sandbox Code Playgroud)

hclust中的错误(d,方法=方法):外部函数调用中的NA/NaN/Inf(arg 11)

我怎样才能摆脱这个错误?

vch*_*ngs 4

事实上我已经解决了。我必须删除在执行 z 分数计算时没有出现 SD 的行,并重建热图。谢谢

  • 请向我们其他没有您的数据集的人解释一下(因此无法重现这个)**为什么 `pheatmap(...,scale="row"`) 没有计算一些 SD**?是分组的吗?是否有可能是一组大小为 1 的组?您的数据集实际上在任何行中都有 NA 吗?否则这个问题就不是可重用的资源。 (3认同)