在命令行中运行 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 文档。