在命令行中运行 R 脚本

Gustavo du Mortier 2023年1月30日
R
  1. Rscript 选项
  2. 在 Rscript 中使用 -e 参数执行简单的表达式
在命令行中运行 R 脚本

从命令行运行 R 脚本最方便的方法是使用 Rscript,它是运行 R 代码的另一种前端。Rscript 能够从不同的命令解释器中执行 R 代码,例如 Linux 上的 bash 脚本或 Windows 上的任务调度器任务。

要使用 Rscript,你必须从命令行中执行 Rscript 命令,并附上要运行的脚本名称,通常是一个 .r 文件。要做到这一点,你必须知道 Rscript 可执行文件和 R 脚本的路径。在 Windows 上,Rscript 可执行文件的路径通常是。

C:\Program Files\R\R-3.4.3\bin\Rscript.exe

要尝试 Rscript,你可以写下面的脚本,并将其以 SayHi.r 的名字保存在 C:\scripts 文件夹中。

SayHi <- function(name) {
  sprintf("Hi, %s", name);
}

SayHi("Dave")

然后,你可以从命令行运行它,通过导航到安装 Rscript.exe 文件的文件夹,并执行以下命令。

Rscript.exe c:\scripts\SayHi.r

输出:

[1] "Hi, Dave"

Rscript 选项

所有 Rscript 选项都以 -- 开头。你可以使用 Rscript 的 --help 选项来获得关于如何使用命令的详细说明,而 --version 参数则显示 Rscript 的版本。如果你想得到 Rscript 运行脚本时的反馈,你可以使用 --verbose 选项。

--default-packages=list 选项(其中 list 是一个以逗号分隔的包名列表)通过设置环境变量 R_DEFAULT_PACKAGES 来决定在启动时加载的包。如果没有使用 --default-packages=list 选项,Rscript 会检查一个名为 R_SCRIPT_DEFAULT_PACKAGES 的环境变量。这个变量的内容优先于 R_DEFAULT_PACKAGES

在 Rscript 中使用 -e 参数执行简单的表达式

如果你想在 R 中执行简单的表达式,而不是指定一个脚本文件来运行,你可以通过使用 -e 参数,在同一命令行中与 Rscript 命令一起指定它们来实现。例如,如果你想在不创建脚本文件的情况下列出 Iris 数据集的前 4 行,你可以从命令行中执行以下内容。

Rscript -e "head(iris,4)"

输出:

 Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa

关于 Rscript 命令的更多信息,请查看官方 Rscript 文档