3

我想将一些将内容直接写入文件的表达式放入调用中Rscript.exe没有指定filein Rscript [options] [-e expression] file [args],因此没有运行的显式 R 脚本)。

除了未创建所需文件的事实外,一切似乎都有效。我究竟做错了什么?

# Works: 
shell("Rscript -e print(Sys.time())")

# Works:
write(Sys.time(), file='c:/temp/systime.txt')

# No error, but no file created:
shell("Rscript -e write(Sys.time(), file='c:/temp/systime.txt')")
4

1 回答 1

4

Rscript 使用空格作为分隔符来解析它的命令行。如果您的 R 字符串包含嵌入的空格,您需要将其用引号括起来,以确保它作为一个完整的单元发送到 R 解析器。

shell除非您特别需要cmd.exe.

system("Rscript.exe -e \"write(Sys.time(), file='c:/temp/systime.txt')\"")
于 2013-06-05T07:56:28.927 回答