【发布时间】:2022-06-11 08:34:32
【问题描述】:
?options 文档对defaultPackages 的描述及其实际行为似乎存在不一致。在 R 4.2.0 中,它是 reads(在 fullrefman.pdf 的第 438 页上)
‘defaultPackages’: the packages that are attached by default when
R starts up. Initially set from value of the environment
variable ‘R_DEFAULT_PACKAGES’, or if that is unset to
‘c("datasets", "utils", "grDevices", "graphics", "stats",
"methods")’. (Set ‘R_DEFAULT_PACKAGES’ to ‘NULL’ or a
comma-separated list of package names.) It will not work to
set this in a .Rprofile file, as its value is consulted
before that file is read.
我的问题与最后一句话有关 - R 4.2.0 中的实际行为似乎与此相矛盾。例如,我可以阻止标准默认包像示例 1 中那样被加载
# .Rprofile Example 0 (empty)
# R Output 0
$ R --vanilla --quiet -e 'search()'
> search()
[1] ".GlobalEnv" "package:stats" "package:graphics"
[4] "package:grDevices" "package:utils" "package:datasets"
[7] "package:methods" "Autoloads" "package:base"
# .Rprofile Example 1
options(defaultPackages = c())
# R Output 1
$ R --quiet -e 'search()'
> search()
[1] ".GlobalEnv" "package:methods" "Autoloads" "package:base"
我也可以这样做(这是我了解here的预期用例)
# .Rprofile Example 2
common.packages <- c("ggplot2", "tidyverse")
option(defaultPackages = c(getOption(defaultPackages), common.packages))
# R Output 2
$ R --quiet -e 'search()'
Loading required package: utils
Tracing function "install.packages" in package "utils"
── Attaching packages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── tidyverse 1.3.1 ──
✔ tibble 3.1.7 ✔ dplyr 1.0.9
✔ tidyr 1.2.0 ✔ stringr 1.4.0
✔ readr 2.1.2 ✔ forcats 0.5.1
✔ purrr 0.3.4
── Conflicts ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
> search()
[1] ".GlobalEnv" "package:forcats" "package:stringr"
[4] "package:dplyr" "package:purrr" "package:readr"
[7] "package:tidyr" "package:tibble" "package:tidyverse"
[10] "package:ggplot2" "package:stats" "package:graphics"
[13] "package:grDevices" "package:datasets" "package:utils"
[16] "package:methods" "Autoloads" "package:base"
我错过了什么吗?我的系统配置有什么特别之处吗:从here 下载的Ubuntu 20.04、R 4.2.0,并使用r2u 和bspm。
编辑:为了澄清我的问题,我认为文档中有错误。它说我不能做某事,而我显然可以。
【问题讨论】:
标签: r