通过Rstudio中的Rprofile.site加载dplyr

通过Rstudio中的Rprofile.site加载dplyr,r,rstudio,dplyr,R,Rstudio,Dplyr,既然我找到了它,我就虔诚地使用dplyr。因为我经常使用它,所以我尝试将library(dplyr)放在Rprofile的.First()函数中 这会加载dplyr,但当我启动Rstudio时,dplyr的一些函数会被屏蔽。例如,当我尝试执行以下操作时: foo <- mtcars %>% filter( cyl == 4 ) 一点故障排除表明,如果我在控制台中再次运行library(dplyr),问题就迎刃而解了——很明显,一个/一些dplyr的函数被搜索路径下游(或上游,取决于

既然我找到了它,我就虔诚地使用dplyr。因为我经常使用它,所以我尝试将
library(dplyr)
放在Rprofile的.First()函数中

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

foo <- mtcars %>% filter( cyl == 4 )
一点故障排除表明,如果我在控制台中再次运行library(dplyr),问题就迎刃而解了——很明显,一个/一些dplyr的函数被搜索路径下游(或上游,取决于您对它的看法)的某些内容掩盖了

当我查看我的search()路径时,我看到在dplyr之后加载了许多其他包,这并不是我真正想要的(我更希望dplyr是最后加载的,或者至少是几乎最后加载的):


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

在R的启动顺序中(请参见
?startup
),在
之前调用
。First.sys()
加载其他包。覆盖
过滤器的是
stats

.First.sys()
使用
选项(“defaultPackages”)
来确定要加载的内容,因此我建议您在
.First()
函数中使用以下选项编辑该选项:

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

如果您不将它放入
.First
函数中会发生什么?也就是说,如果您只是将它赤裸裸地放入
.Rprofile.site
文件中,会发生什么情况?对不起,我得到了相同的错误和搜索()顺序仍然是一样的。FWIW我认为把包放在你的.r文件中是个坏主意,因为复制你的代码要困难得多。长期以来,我遵循@hadley的建议,创建了一个Rstudio代码段,写了几行代码来加载我经常使用的所有库。现在,我输入
prep
并敲击Tab几次,然后按ctrl+shift+s,我的所有库都会加载,而且,当我稍后返回脚本时,所有库都会正确加载。啊,就是这样!我必须更改的一件事是选项('defaultPackages')是一个列表--您在上面添加了dplyr作为一个新的列表项。要将dplyr放入向量本身,我必须使用:options(defaultPackages=c(options(“defaultPackages”)[[1]],“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" 
options(defaultPackages=c(getOption("defaultPackages"),"dplyr"))