r - 将 R 中的对象名称作为文件名扩展为 R 中的 pdf 函数
问题描述
我正在尝试遍历一堆文件,并为每个文件制作一个带有 pheatmap 功能的 pdf 文件。我写了这样的东西:
lapply(files, function(x) {
a <- basename(x)
a <- gsub(".txt","",a)
d <- read.table(gzfile(x),header = FALSE, sep="\t",skip=1)
d<- d[,c(4,7:306)]
dmat <- d[,-1]
rownames(dmat) <- d[,1]
pdf(file = "eval(a).pdf",height=25,width = 10)
x <- pheatmap(dmat,
scale="none",
cluster_rows = FALSE,
cluster_cols = FALSE,
annotation_names_col = FALSE,
show_colnames= FALSE,
color = colorRampPalette(rev(brewer.pal(n = 7, name ="RdYlBu")))(500),
main = a
)
dev.off()
})
在这一pdf(file = "eval(a).pdf",height=25,width = 10)
行,我想评估变量a的值,以便我可以为生成的每个 pdf 获得不同的名称。我怎样才能做到这一点?
谢谢
解决方案
lapply(files, function(x) {
a <- basename(x)
a <- gsub(".txt","",a)
d <- read.table(gzfile(x),header = FALSE, sep="\t",skip=1)
d<- d[,c(4,7:306)]
dmat <- d[,-1]
rownames(dmat) <- d[,1]
pdf(file = paste(a,".pdf",sep = "",collapse = NULL),height=25,width = 10)
x <- pheatmap(dmat,
scale="none",
cluster_rows = FALSE,
cluster_cols = FALSE,
annotation_names_col = FALSE,
show_colnames= FALSE,
color = colorRampPalette(rev(brewer.pal(n = 7, name ="RdYlBu")))(500),
main = a
)
dev.off()
})
推荐阅读
- javascript - 如何在不进行多个 if 语句的情况下搜索数组?
- asp.net - 使用不同表的 asp.net 核心 Web 应用程序中的 RoleManager
- r - 如何将自定义限制应用于 tmap 中的连续色带
- python - 单独提供 IV 和 Value 时 Python 中的 AES 解密
- python - 模拟请求.post
- javascript - 对名称的引用是虚线
- airflow - 缺少气流回填命令 FERNET_KEY 配置
- apache-kafka - 包含 Kafka 消费者的服务的蓝/绿部署方法
- azure - Azure 逻辑应用按 SQL 排序
- numpy - 如何在动画共振振幅中正确改变共振频率?