当我为R版本3.5调用Rscript.exe时,如果文件名或路径中有空格,则无法打开该文件。我用代码保存了2个文件:
cat("What do you get when you multiply 6 * 9?")
C:\ foo bar.R 和 C:\ foo_bar.R
当我在DOS命令窗口中尝试使用版本3.4.3和3.5:
运行它们时C:\>"C:\Program Files\R\R-3.4.3\bin\x64\Rscript.exe" "C:\foo bar.R"
What do you get when you multiply 6 * 9?
C:\>"C:\Program Files\R\R-3.4.3\bin\x64\Rscript.exe" "C:\foo_bar.R"
What do you get when you multiply 6 * 9?
C:\>"C:\Program Files\R\R-3.5.0\bin\x64\Rscript.exe" "C:\foo bar.R"
Fatal error: cannot open file 'C:\foo': No such file or directory
C:\>"C:\Program Files\R\R-3.5.0\bin\x64\Rscript.exe" "C:\foo_bar.R"
What do you get when you multiply 6 * 9?
C:\>
当我尝试在R版本3.5.0中使用名称中的空格运行文件时,会出现致命错误,指出没有此类文件。
答案 0 :(得分:6)
感谢Edward Carney,我通过电子邮件发送了您列出的地址,得到了Tomas的回复,确认这是一个错误,并提供解决方法直到修复:
在此问题得到修复之前的一个快速解决方法是添加一个没有空格的额外第一个参数,例如。
Rscript --vanilla "foo bar.R"
所有系统都存在问题,而不仅仅是Windows。
现在已经在开发版本中更正了这个问题,并且在以下版本中有一个用于Windows的二进制版本: https://cran.r-project.org/bin/windows/base/rdevel.html
在修补版本中也已得到纠正,并且Windows的二进制版本位于: https://cran.r-project.org/bin/windows/base/rpatched.html