我有一个R脚本,它在多个数据集上运行一组函数,并创建一组浓度响应模型.我想要做的是将模型参数和其他结果保存到csv文件中.
我的计划是让脚本创建一个空的csv文件,然后随着脚本的进行,结果将附加到该csv文件.每次运行脚本时,我都希望覆盖结果.
我试过使用创建一个空文件
system("copy /y NUL results.csv > NUL")
Run Code Online (Sandbox Code Playgroud)
创建文件,但不创建该文件.copy/y NUL results.csv > NUL
直接在Windows终端中运行时,此命令(即)可正常工作.
我错过了一些简单的事吗?系统是Windows XP.
谢谢大家!
Jos*_*ien 19
有什么问题file.create()
,可以跨操作系统移植吗?
file.create("my.csv")
# [1] TRUE
Run Code Online (Sandbox Code Playgroud)
然后你可以附加到文件,例如使用append=TRUE
参数write.table()
,也许像这样:
df <- data.frame(a=1:4, b=4:1)
write.table(df, file="my.csv", sep=",", row.names=FALSE, append=TRUE)
write.table(df, file="my.csv", sep=",", row.names=FALSE,
col.names=FALSE, append=TRUE)
Run Code Online (Sandbox Code Playgroud)
编辑如果您要对每个文件进行大量写入操作,则可以节省大量时间来打开与文件的连接一次,并且只有在完成后才关闭它.如果不是这样,上面的方法就可以了.
因为它是 shell 命令,所以你应该使用 shell 而不是 system。
shell("copy /y NUL results.csv > NUL")
Run Code Online (Sandbox Code Playgroud)
编辑。更便携的解决方案:
cat(NULL,file="results.csv")
Run Code Online (Sandbox Code Playgroud)