使用 littler 执行 R 脚本

littler (发音为 little r )( cran )除了提供其他功能外,还提供了两种从命令行使用 littler 的 r 命令运行 R 脚本的可能性(当使用 Linux 或 MacOS 时)。

安装更小的

来自 R:

install.packages("littler")

r 的路径印在终端上,就像

You could link to the 'r' binary installed in
'/home/*USER*/R/x86_64-pc-linux-gnu-library/3.4/littler/bin/r'
from '/usr/local/bin' in order to use 'r' for scripting.

为了能够从系统的命令行调用 r,需要一个符号链接:

ln -s /home/*USER*/R/x86_64-pc-linux-gnu-library/3.4/littler/bin/r /usr/local/bin/r

使用 apt-get(Debian, Ubuntu):

sudo apt-get install littler

使用带有标准 .r 脚本的 littler

使用 r 中的 r,可以执行独立的 R 脚本而无需对脚本进行任何更改。示例脚本:

# User message (\n = end the line)
cat("Input numbers, separated by space:\n")
# Read user input as one string (n=1 -> Read only one line)
input <- readLines(file('stdin'), n=1)
# Split the string at each space (\\s == any space)
input <- strsplit(input, "\\s")[[1]]
# convert the obtained vector of strings to numbers
input <- as.numeric(input)

# Open the output picture file
png("hist.png",width=400, height=300)
# Draw the histogram
hist(input)
# Close the output file
dev.off()

请注意,没有 shebang 位于脚本的顶部。当保存为例如 hist.r 时,它可以从系统命令直接调用:

r hist.r

shebanged 脚本上使用 littler

使用 shebang 也可以使用 littler 创建可执行的 R 脚本

#!/usr/bin/env r

在脚本的顶部。必须使用 chmod +X /path/to/script.r 使相应的 R 脚本可执行,并且可以从系统终端直接调用。