将system2的输出传递给R对象

时间:2017-07-26 10:50:54

标签: r system2

我试图将带有由system2调用的args的二进制文件的输出转换为R对象。但是,我失败了。我已经搜索了几个替代方案,例如system,exec_internal但是无法正确使用它。这是一个使用Linux'功能"因素"这应该分解5555。

test_001 <- system2("factor", args=c("5555"))

并且显示器上显示的输出是

5555: 5 11 101

但是,我希望将该结果放入对象&#34; test_001&#34;。但如果我输入

test_001

结果只是

[1] 0

我真的不明白如何将system2的输出转换为R对象。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

您必须通过指定stdout(可能还有etderr)选项来更改发送输出的位置。由于system2的帮助表明默认输出是R console

  

应该发送到'stdout'或'stderr'的输出。可能的值是&#34;&#34;,R控制台(默认值),NULL或FALSE(丢弃输出),TRUE(捕获字符向量中的输出)或命名文件的字符串。

output = TRUE将输出作为R中的字符向量对象发送。因此,对于您的情况,您可以:

test_001 <- system2("factor", args=c("5555"), stdout = TRUE)