我有一个R脚本,它在多个数据集上运行一组函数,并创建一组浓度响应模型。我想要做的是将模型参数和其他结果保存到csv文件中。
我的计划是让脚本创建一个空的csv文件,然后随着脚本的进行,结果将附加到该csv文件。每次运行脚本时,我都希望覆盖结果。
我尝试使用
创建一个空文件system("copy /y NUL results.csv > NUL")
创建文件,但不创建文件。直接在Windows终端中运行时,此命令(即copy/y NUL results.csv > NUL
)可正常工作。
我错过了一些简单的东西吗?系统是Windows XP。
全部谢谢!
答案 0 :(得分:19)
file.create()
是否有任何问题,它可以跨操作系统移植?
file.create("my.csv")
# [1] TRUE
然后,您可以附加到该文件,例如使用append=TRUE
的{{1}}参数,可能是这样的:
write.table()
编辑如果您要对每个文件进行大量写入,则可以节省大量时间来打开与文件的连接一次,并且只有在完成后才关闭它。如果情况并非如此,那么上述方法就可以了。
答案 1 :(得分:4)
因为它是shell命令,所以你应该使用shell而不是system。
shell("copy /y NUL results.csv > NUL")
EDIT。更便携的解决方案:
cat(NULL,file="results.csv")
答案 2 :(得分:0)
怎么样只是
echo > results.csv
答案 3 :(得分:0)
使用truncate。
f <- file("my.csv", open="w")
truncate(f)