【问题标题】:Save a for loop in R在 R 中保存一个 for 循环
【发布时间】:2021-02-25 16:26:13
【问题描述】:

我想保存一个输出

for (a in 2017:2018){

for (b in 1:12){
for (c in 1:30){
  
  RSM <- subset(RS,Ano==a & Mes==b & Dia==c)
  dime <- dim(RSM)
  tdia  = dime[c(1)]
  
}
}
}

我想将 2017 年和 2018 年的每一天的 tdia 保存在一个 csv 中。 有什么想法吗?

【问题讨论】:

    标签: r dataframe loops time save


    【解决方案1】:

    从循环中保存结果的一般结构可以是:

    result <- vector(length=N)
    
    for(i in 1:N) {
        <do some things>
        result[i] <- <value to save>
    }
    

    如果需要,您可以将 result 的内容保存到 csv 文件中:

    write.csv(result, file="filename.csv")
    

    但是,您似乎只是想通过三个日期变量来计算行数。以下是我将如何使用 data.table 包(一行!):

    library(data.table)
    setDT(RS)
    
    RS[ , .(num_de_filas=.N), by=.(Ano, Mes, Dia)]
    

    【讨论】:

    • 非常感谢,你用那个图书馆救了我的命。
    猜你喜欢
    • 2019-10-24
    • 1970-01-01
    • 2020-10-08
    • 2021-06-03
    • 2018-01-31
    • 2015-11-01
    • 2021-01-03
    • 2019-02-02
    • 1970-01-01
    相关资源
    最近更新 更多