为了非交互式运行R,我决定使用批处理(使用Windows 7)。 我输入的命令提示符(CMD)
cd c:\Program Files\R\R-3.1.3\bin\x64 #set directory
"c:\Program Files\R\R-3.1.3\bin\x64\R.exe" CMD BATCH "c:\Program Files\R\R-3.1.3\bin\myscript.R" "c:\Program Files\R\R-3.1.3\bin\output.out"
生成了输出。我打开了output.out文件,可以看到以下错误消息:
> myData1<-read.csv("myData.csv",header=T, sep=";", dec=",")
> temp<-read.csv("Temperature.csv",header=T, sep=";", dec=",")
Error in file(file, "rt") : cannot open the connection
Calls: read.csv -> read.table -> file
In addition: Warning message:
In file(file, "rt") :
cannot open file 'Temperature.csv': No such file or directory
Execution halted
在myscript.R文件中,我已经将工作目录设置为文件(myData.csv和Temperature.csv)所在的位置。当我在Rstudio中执行myscript.R的内容时,一切正常。不知怎的,这个错误不断涌现,我完全无能为力。有什么建议吗?
答案 0 :(得分:2)
在您的示例中,您试图在cd c:\Program Files\R\R-3.1.3\bin\x64
。
您需要在R.exe
所在的目录中执行Rscript.exe
甚至更好myData.csv
。
R exe dir是一回事。
R脚本目录是另一个。
csv目录是另一个。
使用绝对路径或...
考虑到您的R脚本与csv文件位于同一目录中,您可以使用以下类型:
CD /path_to_R_script/
path_to_exe/exe script
因此,您从具有csv文件的目录运行exe。
在linux中它看起来像:
cd /my/path && Rscript myscript.R
答案 1 :(得分:1)
引用Michael Lundholm的pdf Working with R in batch mode:
Some notes for beginners
虽然安装了R,但Windows系统找不到该文件 运行R.exe。这是因为该文件位于不在的目录中 Windows的默认搜索路径。原因是默认 安装脚本的行为是安装新版本的R in 不同的目录。由用户决定Windows的位置 应该寻找R(即使用哪个版本)。
如果出现此错误消息,我们必须更改搜索路径 它包括R.exe所在目录的路径。我们这样做 如下:
- 打开控制面板,选择“系统”,点击左侧菜单中的“高级系统设置”,然后选择“环境” 变量按钮;见图5.
- 选择变量'Path'并单击Edit-button。现在我们必须编辑变量值',以便它还包含到的路径 安装各种R二进制文件(程序)的目录。
- 通过查找已安装R的目录,可在Windows资源管理器中找到此文件的路径。见图6.通常是 路径类似于
C:\Program Files\R\R-2.15.1\bin\x64
和它 应附加到“变量值”中已存在的路径。- 请注意,搜索路径中的各种路径用分号分隔,因此我们应该在字符串字符中添加一个首字母';' 我们追加'变量值'。结果如图所示 7。
醇>
一旦添加了环境变量的路径,就可以从存储csv文件的目录中调用Rscript
Rscript myscript.R arg1 arg2 arg3
或者你改变了
的路径 temp <- read.csv("Temperature.csv", header=T, sep=";", dec=",")
在R
文件中
temp <- read.csv("C:/Users/.../Temperature.csv", header=T, sep=";", dec=",")