我有多个要读取的文件,还有热图,然后保存输出。不知何故,我的代码存在问题,我无法弄清楚它为什么不起作用。文件:mxn.dat,scu.dat,emun.dat,ser.dat
files <- list.files(pattern=".dat")
for (i in length(files)){
data <-read.table(files[i],row.names=1,header=T,sep='\t')
for in length(files){
png('i.png')
pheatmap(t(data[i]), cellwidth = 32, cellheight = 14, fontsize = 5, show_colnames = T, cluster_cols = FALSE)
dev.off()
}
}
为了让代码正常运行,我们将不胜感激。
由于
罗布
答案 0 :(得分:0)
不是一个可重复的例子,所以我无法测试这是否有效(不知何故,我认为这太局部化,对未来的访问者没用),但也许试试这个......
files <- list.files(pattern=".dat")
for (i in 1:length(files)){
data <-read.table( files[i],row.names=1,header=T,sep='\t')
png( paste0( i , '.png' ) )
pheatmap( t( data ), cellwidth = 32, cellheight = 14, fontsize = 5, show_colnames = T, cluster_cols = FALSE)
dev.off()
}
答案 1 :(得分:0)
SimonO101解决方案的变化:
files <- list.files(pattern=".dat")
for( f in files )
{
data <-read.table( f, row.names = TRUE, header = TRUE, sep = '\t' )
png( gsub( "pdf", "png", f ) )
pheatmap( t( data ), cellwidth = 32, cellheight = 14, fontsize = 5, show_colnames = T, cluster_cols = FALSE)
dev.off()
}
易于阅读(我相信)并且具有保留原始文件名的优点(?),只更改扩展名。