【问题标题】:capture output of install.packages捕获 install.packages 的输出
【发布时间】:2012-02-09 07:25:51
【问题描述】:

我想在一个变量中捕获 install.packages 命令的完整输出。但是,在安装过程中打印的消息是使用 intern=FALSE 调用 system() 的结果。因此,它们并不是真正的消息/警告/打印。有没有办法将此信息捕获到变量中?例如

> sink(tempfile())
> bla <- suppressMessages(suppressWarnings(capture.output(system('whoami'))));
jeroen

或者:

> sink(tempfile())
> bla <- suppressMessages(suppressWarnings(capture.output(install.packages("XML"))));

仍然将所有内容打印到屏幕上...

【问题讨论】:

    标签: r cran


    【解决方案1】:

    您可以启动一个单独的 R 进程:

    system( "Rscript -e 'install.packages(\"XML\")'", intern=TRUE )
    

    【讨论】:

    • 但要小心,因为不能保证运行与您当前正在运行的 R 相同的 R,并且 libpath 等可能/将会不同
    • 不是最优的,但它会满足我的目的。我想没有别的办法了。
    猜你喜欢
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    • 2010-11-09
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    相关资源
    最近更新 更多