【发布时间】:2014-11-17 19:24:20
【问题描述】:
自从我找到它后,我就虔诚地使用 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。有什么建议吗?
【问题讨论】:
-
如果你不把它放在
.First函数里面会发生什么?也就是说,如果你只是把它赤裸裸地放入.Rprofile.site文件中? -
不舒服。我得到了同样的错误,并且 search() 顺序仍然是一样的。
-
FWIW 我认为将包放入您的 .Rprofile 是一个坏主意,因为它更难重现您的代码。
-
对此的长期跟进,我遵循了@hadley 的建议,并开始创建一个 Rstudio sn-p,它编写了几行代码来加载我发现自己经常使用的所有库.现在,我输入
prep并敲击 Tab 几次,然后按 ctrl + shift + s 并加载我的所有库,另外,当我稍后返回脚本时,一切都正确加载。