在R中使用for循环可以节省100个热图

时间:2014-06-25 10:59:48

标签: r

我正在尝试在for循环中使用RStudio创建热图。我想直接将其保存在文件夹中,而不是在图表窗口中显示图形。我想知道如何在循环中执行此操作。

这是我到目前为止尝试的代码>     a [[i]]是包含要绘制的值的数据框

setwd("/home/coolgal2k/output/heatmaps/")
hm = NULL
for (i in 1:100){
hm.900[[i]] <- heatmap.2(a[[i]], 
                     dendrogram="none", Rowv=F,Colv=F, 
                     col=bluered(256), scale="none", key=T, 
                     density.info="none", main=paste0("Heatmap of Z-scores","[[i]])", 
                     cexRow=0.7, cexCol=0.7, trace="none", symm=F, symbreaks=T, symkey=T) 
dev.off()
}

当我尝试这样做时:

我收到错误的说法意外&#34;}&#34;在: 我检查了代码中的所有格式,没关系!

请帮忙!

1 个答案:

答案 0 :(得分:1)

您的粘贴命令在引号内有结束)。 SO荧光笔的颜色甚至是错误的。如果您还没有,我强烈建议您使用good editor为您突出显示类似语法。

要保存单独的图像,您可以打开一个单独的设备并在每个循环中关闭它

for ... {
    png(paste(filename, I))
    heatmap.2(...)
    dev.off()
}

或者更好的是,打开一个设备,然后开始工作

png( "filename%02d")
for ...{
    heatmap.2(...)
}
dev.off()