【发布时间】:2021-02-28 15:20:12
【问题描述】:
有没有一种简单的方法可以将 print 的输出作为字符串变量获取?类似于:
output_string = print(object)
函数print() imho 有一种相当“智能”的方式将对象和对象信息分别表示为字符串。因此,能够处理此输出将很有用。
我认为print() 所做的只是在调用它的对象上调用toString() 方法。但是,toString(object) 会给出不同的结果,我想获取print(object) 生成的字符串...只是不作为输出到控制台,而是存储在变量中。
我的背景:
我创建了一个随机森林模型。执行print(rf) 为我提供了一些关于模型的基本统计信息,我想将其写入日志文件,而toString(rf) 为我提供了一个巨大的字符串,其中似乎是完整树的实际字符串表示(拆分等)。所以我想做:
rf = randomForest(...)
fileConn = file("rf.log")
writeLines(c(">>> random forest:", print(rf) ), fileConn)
close(fileConn)
我试图从docs 获取有关此的一些信息,但这似乎不是一个广告功能。 invisible(rf) 有一些东西,我希望这会做我想做的事,但它似乎只是复制了对象。
【问题讨论】:
-
help("capture.output")
标签: r string representation