从终端执行类似Python的R代码

从终端执行类似Python的R代码,r,R,在python中,我们可以运行python代码: python -c "import os;print(os.listdir('./'))" 我的问题很简单,我们如何在不打开R shell或编写R脚本的情况下执行类似的Rscript代码 比如: Rscript -c "installed.packages()[,'Package']" 如果您只需键入Rscript,就会得到 用法:/path/to/Rscript[--options][e expr[-e expr2…]| file][arg

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

python -c "import os;print(os.listdir('./'))"
我的问题很简单,我们如何在不打开R shell或编写R脚本的情况下执行类似的Rscript代码

比如:

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

如果您只需键入
Rscript
,就会得到

用法:/path/to/Rscript[--options][e expr[-e expr2…]| file][args]

可以使用表达式(一个或多个“-e”)代替“file”

因此

另一种可能性是

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

(稍微慢一点,但更健壮,因为它可以加载
方法
包)

如果您只需键入

用法:/path/to/Rscript[--options][e expr[-e expr2…]| file][args]

可以使用表达式(一个或多个“-e”)代替“file”

因此

另一种可能性是

echo "installed.packages()[,'Package']" | R --slave
(稍微慢一点,但更健壮,因为它可以加载
方法
包)

有这样一个命令,它显示为
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" 
$r-e'IP有一个用于此的命令,它表现为一个
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" 

$r-e'IP几天前我刚问过你为什么要使用
|r-slave
。想扩展吗?如果我没有littler,我想做一些需要
方法
包的事情,我不想使用其他解决方法(显式添加
库(“方法”)
或。我注意到R-core成员使用这种习惯用法(这并不一定正确).另一方面,在回答@spacedman的链接问题时,可能是littler在任何地方都能工作,而Rscript在任何地方都能工作(我不知道“仅支持带有execv系统调用的系统”实际上意味着Rscript的限制是什么),你说“Rscript现在无处不在,R无处不在”,因此,如果littler仍然是非Windows的,
R--slave
可能是RScript的合理替代品。我几天前刚刚问过你为什么要使用
|R--slave
。是否要扩展?如果我没有littler,我想做一些需要
方法
包的事情,我不想使用其他方法之一er变通方法(显式添加
库(“方法”)
或。我注意到R-core成员使用这种习惯用法(这并不一定正确)。另一方面,可能是littler在任何地方都可以工作,而Rscript无论如何都可以(我不知道什么“仅在具有execv系统调用的系统上支持”)实际上意味着Rscript的限制)在回答@spacedman的链接问题时,您说“Rscript现在无处不在,R无处不在”,因此,如果littler仍然是非Windows,
R--slave
可能是Rscript的合理替代方案。关于
littler
vs
Rscript
的讨论在这里:关于
littler
vs
Rscript
的讨论在这里:我必须说,如果我不知道docker是什么,那么答案就包装在docker中图层会很混乱…我已经停靠了停靠线。我必须说,如果我不知道停靠线是什么,那么在停靠层中包装答案会很混乱…我停靠了停靠线。