如何让R列出其基本安装包。 Dirk给出了一个列表HERE,但我如何让R告诉我这些信息,即src/library/
中的包?
getOption("defaultPackages")
已关闭,但仅列出其中一些软件包。
答案 0 :(得分:11)
rownames(installed.packages(priority="base"))
[1] "base" "compiler" "datasets" "graphics" "grDevices" "grid"
[7] "methods" "parallel" "splines" "stats" "stats4" "tcltk"
[13] "tools" "utils"
答案 1 :(得分:3)
TL;博士。
rownames(installed.packages(priority = "base"))
您的 R.Version()
的所有基本软件包。c(getOption("defaultPackages"), "base")
是 R 在启动时加载的内容installed.packages
将返回您当前安装的软件包。
每个特定 R 版本 (R.Version()
) 的基本软件包始终相同。这个列表将来可能会随着更新的 R 版本而改变。例如。我记得 parallel
的添加时间比其他 R `parallel` package does not exist on CRAN? 晚。
getOption("defaultPackages")
是 R 在启动时加载的内容,尽管 base
包不计算在内。
我发现 sessionInfo()$basePkgs
解决方案对于启动包更可靠,因为它也包含一个 base
包。然而,sessionInfo()$basePkgs
的效率相对较低,因为它是一个跨越所有描述文件的简单循环。
microbenchmark::microbenchmark(sessionInfo()$basePkgs,
getOption("defaultPackages"))
Unit: nanoseconds
expr min lq mean median uq max neval
sessionInfo()$basePkgs 6172017 6242209 6673759.42 6294546 6848292 16656578 100
getOption("defaultPackages") 205 246 526.85 451 656 1722 100
答案 2 :(得分:2)
可能有一个更简单的方法,但我认为这应该可以解决问题:
installed.packages()[grep('^base$', installed.packages()[, 'Priority']), ]