检索会话中使用的包和函数

时间:2011-12-15 13:51:32

标签: r

有没有办法获取R会话期间使用的包和函数列表? 未加载的包,但是在R控制台中运行的代码中实际使用的函数列表(包含包名称的信息)。

这将有助于清理某些脚本的代码,测试不同的软件包,忘记删除不再使用的软件包。还要检查我们使用的包中的哪个函数,而不是逐个检查代码中的每个函数。

提前致谢。

1 个答案:

答案 0 :(得分:6)

会话“日志”可以使用help(history)中提供的代码保存为文本文件:

.Last <- function()
    if(interactive()) try(savehistory("~/.Rhistory"))

您可以通过首先使用readLines访问然后使用正则表达式提取来使用R处理此文本文件。如果您还想捕获已加载的包,则会为您提供包名称的字符向量:

> names(c(sessionInfo()$otherPkgs, sessionInfo()$loadedOnly))
[1] "timereg"  "survival" "sos"      "brew"     "lattice"  "grid"     "tools"   

可以将其添加到上面定义的.Last函数中。如何做到这一点的细节将取决于你目前看来有些模糊的目标。