我有一些csv文件包含我想在R中绘制的数据。现在我手动读取每个文件,进行一些计算,然后为每个文件绘制图形。但是,因为我想对所有数据文件做同样的事情,我试图弄清楚如何在for循环中做到这一点。
假设我有一个文件夹'myfolder',文件有:data1.csv,data2.csv,data3.csv,我想将数据导出为figure1.png,figure2.png和figure3.png。 / p>
数据文件具有完全相同的变量,只是具有不同的值。
在stata我会这样做:
glo dir "C:/.../myfolder"
forvalues x = 1/3 {
import delimited using $dir/data`x'.csv, clear
** some calculations **
graph two scatter Y X
graph export $dir/figure`x'.png, replace
}
与R相同的是什么?
答案 0 :(得分:2)
这样的事情应该有效:
f <- "C:/path/to/folder/"
for (i in 1:3) {
d <- read.csv(file.path(f, paste0("data", i, ".csv")))
# compute stuff
png(file.path(f, paste0("figure", i, ".png")))
plot(x, y)
dev.off()
}
查看file.path
和plot
的文档,确保这是您所需要的。