【问题标题】:R: Exporting potentially infinite function outputs to a csv fileR:将潜在的无限函数输出导出到 csv 文件
【发布时间】:2018-03-24 21:57:36
【问题描述】:

我有一个脚本,它获取文件夹中的原始 csv 文件,以称为“分析”的函数(文件名)中描述的方法转换数据,并将值吐出到控制台中。当我尝试 write.csv 这些值时,它只给出函数的最后一个值。如果每个文件夹有一定数量的文件,我将通过程序执行每个特定的 csv 文件,比如 [1:5],然后将矩阵应用/设置到 write.csv 中。但是,有可能从目录中提取无限数量的文件,所以这不起作用(我认为?)。如何将潜在的无限函数输出导出到 csv 文件?我在下面列出了函数定义后的最后步骤。它列出了文件夹中的所有文件,并对文件夹中的所有文件应用了“anaylze”函数。

filename <- list.files(path = "VCDATA", pattern = ".csv", full.names = TRUE)
for (f in filename) {
print(f)
analyze(f)
} 

最好, 埃文

【问题讨论】:

  • 可能是capture.output?还是sink
  • 与其说“潜在的无限输出”,不如说“未知数量的输出”。

标签: r function csv


【解决方案1】:

如果没有可重现的示例,很难说,但我认为您已将分析的输出分配给向量或数据帧(而不是将其吐出到控制台)。

类似的东西:

filename <- list.files(path = "VCDATA", pattern = ".csv", full.names = TRUE)
results <- vector() #empty vector

for (f in filename) {
print(f)
results[which(filename==f)] <- analyze(f) #assign output vector
} 

write.csv(results, file=xxx) #write csv file when loop is finished

我希望这能回答您的问题,但这实际上取决于分析函数的输出格式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 2016-01-06
    • 1970-01-01
    相关资源
    最近更新 更多