繁体   English   中英

将system2的输出传递到R对象

[英]Pass output from system2 into R object

我试图从由system2调用的带有args的二进制文件的输出获取R对象。 但是,我失败了。 我已经在Google上搜索了几种替代方法,例如system,exec_internal,但无法正确完成。 这是一个使用Linux函数“ factor”的玩具示例,该函数应分解为5555。

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

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

5555: 5 11 101

但是,我希望将该结果放入对象“ test_001”中。 但是如果我输入

test_001

结果只是

[1] 0

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

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

输出到“ stdout”或“ stderr”的地方。 对于R控制台(默认值),可能的值为“”,NULL或FALSE(丢弃输出),TRUE(将输出捕获到字符向量中)或命名文件的字符串。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM