你可以使用gnu-R
这样的东西:
echo "1" > foo
echo "2" >> foo
cat foo \
| r -e \
'
f <- file("stdin")
open(f)
v <- read.csv(f,header=F)
write(max(v),stdout())
'
2
对于汇总统计,
cat foo \
| r -e \
'
f <- file("stdin")
open(f)
v <- read.csv(f,header=F)
write(summary(v),stdout())
'
# Max, Min, Mean, median, quartiles, deviation, etc.
...
在json中:
... | r -e \
'
library(rjson)
f <- file("stdin")
open(f)
v <- read.csv(f,header=F)
json_summary <- toJSON(summary(v))
write(json_summary,stdout())
'
# same stats
| jq '.Max'
# for maximum
如果您使用的是 linux 命令行环境,那么您可能不想重新实现轮子,保持矢量化,并拥有易于阅读和开发的干净代码,并且执行一些标准的、可组合的功能。
在这种情况下,您不需要面向对象的语言(使用 python 会导致界面和代码膨胀以及使用 google、pip 和 conda 进行迭代,具体取决于您需要的库和必须手动编码的类型转换),您不需要冗长的语法,默认情况下您可能需要处理数据帧/向量/行/列的数值数据。
您可能还需要可以在您的特定机器上毫无问题地浮动的脚本。如果你在 Linux 上,那可能意味着:gnu-R。通过apt-get
.