Python就像来自Terminal的R代码执行一样

时间:2016-04-06 14:01:15

标签: r

在python中我们可以运行一个python代码:

python -c "import os;print(os.listdir('./'))"

我的问题很简单,如何在不打开R shell或编写R脚本的情况下执行类似的Rscript代码执行?

类似的东西:

Rscript -c "installed.packages()[,'Package']"

2 个答案:

答案 0 :(得分:9)

如果您只需输入Rscript

  

用法:/ path / to / Rscript [--options] [-e expr [-e expr2 ...] |文件] [args]

     

...

     

表达式(一个或多个' -e')可以用代替'文件'

因此

Rscript -e "installed.packages()[,'Package']" 

另一种可能性是

echo "installed.packages()[,'Package']" | R --slave

(稍慢但更强大,因为它可以加载methods包)

答案 1 :(得分:4)

这里有littler,它表现为r命令:

$ r -pe 'sqrt(2)'
[1] 1.414214

因此可以回答实际问题:

$ r -e'IP <- installed.packages(); print(head(IP[,"Package"]))'
    docopt   magrittr    stringi    stringr    littler       base 
  "docopt" "magrittr"  "stringi"  "stringr"  "littler"     "base"