我已经转移到新服务器并在其上安装了 R 版本 3.0。(gplots 库不再适用于 2.14)
使用适用于 2.14 版的脚本,我现在遇到了生成热图的问题。
在 R 版本 3 中,我收到一个错误:
Error in lapply(args, is.character) : node stack overflow
Error in dev.flush() : node stack overflow
Error in par(op) : node stack overflow
在 R 版本 2.14 中,我收到一个错误:
Error: evaluation nested too deeply: infinite recursion / options(expressions=)?
我可以通过增加选项来解决(表达式=500000)
在 R 版本 3 中,增加此选项并不能解决问题。而且我仍然遇到同样的错误。
两者的脚本相同:
y=read.table("test", row.names=1, sep="\t", header=TRUE)
hr <- hclust(dist(as.matrix(y)))
hc <- hclust(dist(as.matrix(t(y))))
mycl <- cutree(hr, k=7); mycolhc <- rainbow(length(unique(mycl)), start=0.1, end=0.9); mycolhc <- mycolhc[as.vector(mycl)]
install.packages("gplots")
library("gplots", character.only=TRUE)
myheatcol <- redgreen(75)
pdf("heatmap.pdf")
heatmap.2(as.matrix(y), Rowv=as.dendrogram(hr), Colv=as.dendrogram(hc), col=myheatcol,scale="none", density.info="none", trace="none", RowSideColors=mycolhc, labRow=FALSE)
dev.off()
其中“test”是一个 tdl 文件,带有标题和行名以及一个 40*5000 0/1 矩阵
任何帮助,将不胜感激
PS:当我将数据集减少到 2000 行时,我不再收到错误消息。
PSS:将数据集增加到 2500 行会导致相同的错误;但是,删除所有非信息行(全为 1)给我留下了 3700 行。使用此数据集不会导致错误。