在R中将数据导出为CSV

时间:2017-12-31 22:20:41

标签: r csv

我已经合并了一堆csv文件,但是无法让它们正确导出到一个文件我做错了什么?数据显示在我的控制台中,但是我收到一条错误,上面写着“as.data.frame中的错误。 default(x [[i]],optional = TRUE):   不能强制类“”函数“”到data.fram“,

with MyWriter(PATH) as mw:
    mw.write("SOME TEXT")

1 个答案:

答案 0 :(得分:0)

您没有将do.call函数的结果分配给任何内容。相当常见的R noob错误。无法理解函数式编程范例。需要将结果分配给R名称,否则它们只会被垃圾收集。

错误实际上来自您未放入代码块的代码:

write.csv(read.csv, file ='Lineups.csv')

'read.csv'可能是do.call - 操作结果的预期名称,但默认情况下它是函数名而不是您的期望。您可以将do.call - 结果分配给名称'read.csv',但这样做是非常糟糕的做法。选择更具描述性的名称,例如“TEMP_files_appended”。

TEMP_files_appended <- do.call("rbind",lapply(filenames, read.csv, header = TRUE))

write.csv(TEMP_files_appended, file ='Lineups.csv')

(我将观察到不需要使用header=TRUE read.csv,因为那是该函数的默认值。)