来自命令行的R脚本

Anj*_*jaM 6 command-line r

我想从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 deniedmethods库相同.然后:Calls: .First ... library -> .getRequiredPackages2 -> library -> normalizePath Execution stopped.我使用的是Windows 7,但我确实拥有管理员权限.

ags*_*udy 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
Run Code Online (Sandbox Code Playgroud)

并打开一个控制台(使用cmd),转到存储launcher.bat的位置并启动它.或者从R cosnole使用shell:

shell('path_to_launcher\launcher.bat')
Run Code Online (Sandbox Code Playgroud)


Anj*_*jaM 3

我发现这是 Windows 7 上特定于语言的问题,类似于此处描述的问题:https ://stat.ethz.ch/pipermail/r-help/2011-May/276932.html

更改后PATHC:\Program Files\R\R-3.0.1\bin脚本可以从命令提示符正确执行。

感谢所有试图提供帮助的人!