使用 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 指令碼可執行,並且可以從系統終端直接呼叫。