我编写了以下脚本,在for循环中生成了几个图,效果很好:
stat <- list.files("D:/...", pattern = "met")
par(mfrow = c(4, 4))
for (x in stat) {
plot((assign(x, read.csv(x, head=TRUE, sep=""))),typ="l", col="red")
}
我现在想要实现的是根据所读取文件的名称递归地添加每个图形的标题。
希望这很清楚,
最佳,
P.S。 我也有另一种好奇心,但我可能会留下这个。
感谢。
答案 0 :(得分:5)
向main
添加标题(plot
)参数是否可以满足您的要求?
plot((assign(x, read.csv(x, head=TRUE, sep=""))),typ="l", col="red", main=x)
为OP评论编辑
您可以使用gsub
。
plot((assign(gsub('\\.txt', '', x),
read.csv(x, head=TRUE, sep=""))),
typ="l",
col="red",
main=gsub('\\.txt', '', x))
然而,你正在使用的循环赋值构造是一个危险的习惯使用。通常这可以通过以列表形式阅读所有文件,然后跨越lapply
或者该主题的某些变体来完成。
除非您在此绘图步骤之后进行其他处理,否则您应该可以完全跳过assign
步骤。
plot(read.csv(x, head=TRUE, sep=""),
typ="l",
col="red",
main=gsub('\\.txt', '', x))