【问题标题】:R for loop - Importing csv and exporting graphsR for loop - 导入 csv 和导出图形
【发布时间】:2017-05-14 04:59:40
【问题描述】:

我有一些 csv 文件,其中包含我想在 R 中绘制的数据。现在我手动读取每个文件,进行一些计算,然后为每个文件绘制图表。但是,由于我想对所有数据文件执行完全相同的操作,因此我试图弄清楚如何在 for 循环中执行此操作。

假设我有一个文件夹“myfolder”,其中包含以下文件:data1.csv、data2.csv、data3.csv,我想将数据导出为 figure1.png、figure2.png 和 figure3.png。

数据文件具有完全相同的变量,只是值不同。

在 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 中的等价物是什么?

【问题讨论】:

标签: r loops for-loop stata


【解决方案1】:

类似的东西应该可以工作:

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.pathplot 的文档以确保这是您所需要的。

【讨论】:

  • 您的第三行 (d &lt;- ...) 缺少右括号,以及对 pastepaste0 的调用。如所写(但添加了右括号),它将简化为read.csv("C:/path/to/folder/data/1/.csv"),这可能不是这里想要的。
猜你喜欢
  • 1970-01-01
  • 2022-06-17
  • 2011-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-12
  • 2019-04-27
相关资源
最近更新 更多