如何捕获R中的system2()输出

时间:2017-03-08 21:11:21

标签: r

以下是一个例子:

RR<-"/usr/bin/R"
x<-system2(RR, "--version")
R version 3.3.3 (2017-03-06) -- "Another Canoe"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under the terms of the
GNU General Public License versions 2 or 3.
For more information about these matters see
http://www.gnu.org/licenses/.
> x
[1] 0

正如您在此处看到的x is 0。我的问题是如何将'system2(RR,“ - version”)'输出分配给x

2 个答案:

答案 0 :(得分:3)

?system2的文档中对此进行了描述。如果要将程序的输出捕获为字符向量,请设置stdout=TRUE

x <- system2(RR, "--version", stdout=TRUE)

&#34;标准输出&#34;用于&#34;标准输出&#34;该计划。它是程序使用的常用术语,用于识别&#34;结果&#34;从一个程序。

答案 1 :(得分:0)

改为使用system

x <- system(paste(RR,'--version'), intern=TRUE)