自从我找到它后,我就虔诚地使用 dplyr。由于我经常使用它,我尝试将 library(dplyr) 放在 Rprofile 的 .First() 函数中。

这会加载 dplyr,但是当我启动 Rstudio 时,一些 dplyr 的功能被屏蔽了。例如,当我尝试执行以下操作时:

foo <- mtcars %>% filter( cyl == 4 )

我收到以下错误:
Error in filter(mtcars, cyl == 4) : object 'cyl' not found

一些故障排除表明,如果我再次在控制台中运行 library(dplyr),问题就会立即解决——很明显,dplyr 的一个/某些功能被搜索路径更远的东西(或向上,取决于你如何看它。

当我查看我的 search() 路径时,我看到在 dplyr 之后加载了许多其他包,这并不是我真正想要的(我希望 dplyr 是最后加载的东西,或者至少几乎最后的):
[1] ".GlobalEnv"        "tools:rstudio"     "package:stats"     "package:graphics"  "package:grDevices" "package:utils"
[7] "package:datasets"  "package:xlsx"      "package:xlsxjars"  "package:rJava"     "package:dplyr"     "package:methods"
[13] "Autoloads"         "package:base"

我在 Windows 7 上,使用 RStudio v.0.98.1028。因为我真的不清楚 Windows + RStudio 如何处理主目录,所以我正在 C:/Program Files/R/R-3.1.1/etc/ 中编辑 Rprofile 。有什么建议么?

最佳答案

在 R 的启动顺序(参见 ?Startup )中,.First() 在加载其他包的 .First.sys() 之前调用。覆盖 stats 的是 filter 包。
.First.sys() 使用 options("defaultPackages") 来确定要加载的内容,因此我建议您在 .First() 函数中编辑它:

options(defaultPackages=c(getOption("defaultPackages"),"dplyr"))

关于r - 通过 Rstudio 中的 Rprofile.site 加载 dplyr,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25997618/

10-12 17:09
查看更多