2013-06-05 81 views
3

我想放一些表達式寫東西到一個文件直接插入到Rscript.exe呼叫(沒有Rscript [options] [-e expression] file [args]指定file,因此沒有被運行的明確[R腳本)。執行表達式Rscript.exe

除了沒有創建所需文件這一事實,一切似乎都奏效。我究竟做錯了什麼?

# 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')") 

回答

3

Rscript使用空格作爲分隔符解析其命令行。如果您的R字符串包含嵌入的空格,則需要將其包含在引號內以確保它作爲完整單元發送到R分析器。

除非您特別需要cmd.exe的功能,否則您也不需要使用shell

system("Rscript.exe -e \"write(Sys.time(), file='c:/temp/systime.txt')\"") 
+0

太棒了!非常感謝那些信息! – Rappster