【问题标题】:Using index or counter to write data frames使用索引或计数器写入数据帧
【发布时间】:2014-12-02 23:45:05
【问题描述】:

我确定以前有人问过这个问题,但没有找到答案。如果我想编写 10 个单独的文件作为循环的一部分,我该如何使用索引或计数器来增加文件的名称。

a <- matrix(5, nrow=5, ncol=5)

for(i in 1:10){
    a <- a + 1
    write.csv(a, "a1.csv") 
}

因此,我想扩展此代码以编写 10 个文件:a1.csv、a2.csv、a3.csv 等。 我假设答案很简单,可能使用 paste0、assign 和 [i]。没有运气解决它!当然,如果有更好的方法来解决这个问题而无需 for 循环,我愿意接受建议!

【问题讨论】:

    标签: r for-loop lapply


    【解决方案1】:

    this answer一样,只需使用粘贴即可:

    a <- matrix(5, nrow=5, ncol=5)
    
    for (i in 1:10) {
      a <- a + 1
      write.csv(a, paste("a",i,".csv",sep="")) 
    }
    

    【讨论】:

    • paste0("a", i, ".csv")sep="" 时常见情况的便捷替代方案;我更喜欢sprintf("a%d.csv", i)
    猜你喜欢
    • 1970-01-01
    • 2021-01-28
    • 2020-01-03
    • 2019-08-12
    • 2015-04-23
    • 1970-01-01
    • 2017-08-13
    • 2022-12-17
    • 2021-01-12
    相关资源
    最近更新 更多