我试图将sessionInfo
的漂亮打印(格式化(输出存储在字符变量中,并找到了使用 pretty.si <-capture.output(sessionInfo())
的解决方案,该解决方案会产生字符串向量(每行一个元素(。
只是出于好奇:
R 调用哪个函数来获取漂亮的打印输出(例如我找不到 S3 print.sessionInfo
函数(?
如果我查看sessionInfo
的实现,它只会将未格式化的结果作为列表或向量列表返回:
> sessionInfo
function (package = NULL)
{
z <- list()
z$R.version <- R.Version()
z$platform <- z$R.version$platform
# ... omitted code ...
class(z) <- "sessionInfo"
z
}
编辑 1:顺便说一句 - 要从sessionInfo()
创建漂亮的打印字符串,您可以使用:
si <- capture.output(print(sessionInfo()))
它实际上有一个 S3 方法,只是它没有从包命名空间导出,这将是utils
包。
如果您浏览方法搜索的输出,您将在 sessionInfo 方法旁边看到一个星号,文档说它是:
如果该方法,则 S3 方法名称后跟星号 * 定义不会从包命名空间导出,其中 方法已定义。
> x = methods("print")
> x[x == "print.sessionInfo"]
[1] "print.sessionInfo"
因此,要查看您可以执行的方法的代码
utils:::print.sessionInfo