我想从Windows命令行运行此示例脚本:http://mazamascience.com/WorkingWithData/?p=912。所以我打开命令行并键入Rscript tryCatch.R 1
。但是,我不断收到错误消息Error: R not found
。我确实将PATH环境变量设置为C:\Programme\R\R-3.0.1\bin
。如果我只输入R.exe
,它会启动R
,但无法找到要在开始时加载的包(例如package 'utils' in options<"defaultPackages"> was not found
)。我想我必须在某处设置另一条通往图书馆的路径,但我不知道该在哪里这样做。
更新:显式键入PATH C:\Programme\R\R-3.0.1\bin
后(而不是仅将其添加到环境变量PATH的值),似乎找到了R
。但是,出现了一个新问题:In normalizePath<path.expand(path), winslash, mustWork>: path[2] = "C:/Programme/R/R-3.0.1/library": Access denied
,与methods
库相同。然后:Calls: .First ... library -> .getRequiredPackages2 -> library -> normalizePath Execution stopped
。我使用的是Windows 7,但我确实拥有管理员权限。
答案 0 :(得分:5)
Rscript
非常方便(R CMD BATCH
是旧方法)特别是在Windows下,但通常在我创建批处理文件以避免所有路径的头痛。
例如说launcher.bat:
@echo off
C:
PATH C:\Programme\R\R-3.0.1\bin;%path%
cd PATH_TO_YOUR_RSCRIPT
Rscript tryCatch.R 1
pause
打开控制台(使用cmd),转到存储launcher.bat的位置并启动它。或者使用shell
来自R cosnole:
shell('path_to_launcher\launcher.bat')
答案 1 :(得分:1)
我发现这是Windows 7上特定于语言的问题,类似于此处所述:https://stat.ethz.ch/pipermail/r-help/2011-May/276932.html
将PATH
更改为C:\Program Files\R\R-3.0.1\bin
后,脚本会在命令提示符下正确执行。
感谢所有试图提供帮助的人!
答案 2 :(得分:0)
我在Windows 7下遇到了这个问题,显然,当设置环境变量&gt;用户变量时,路径没有添加到PATH中,因此用户必须在系统变量中添加此路径&gt;路径 最后只需添加.EXE文件的路径即可。