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