来自命令行的R脚本

时间:2013-06-27 09:25:59

标签: r command-line

我想从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,但我确实拥有管理员权限。

3 个答案:

答案 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文件的路径即可。