我在RGui / RStudio中使用R 3.5.1,并在用户主目录中使用“ .Rprofile”文件(只有一个条目)来预加载软件包“ tidyverse”:library(tidyverse)
当要使用软件包'dplyr'的filter()
函数时,它会被软件包'stats'的filter()
函数掩盖,该软件包已在采购'.Rprofile'之后作为默认软件包加载在R启动过程中。
此行为似乎与?Startup
告诉我们的是矛盾的:“请注意,当网站和用户个人资料文件的来源是仅加载基本包时,因此其他包中的对象需要通过utils :: dump.frames进行引用,或者在显式加载相关程序包之后进行引用。”
有人可以告诉我,为什么尽管使用了用户配置文件,还是会默认加载“ stats”之类的默认软件包?非常感谢!
答案 0 :(得分:0)
我的问题已经在这里得到解答:R dplyr filter not masking base filter? [duplicate]
如前所述,?Startup
的文档说:
请注意,当获取网站和用户配置文件的文件时,仅会加载基本软件包,因此其他软件包中的对象需要用例如来引用。 utils :: dump.frames或显式加载有关的软件包之后。
不幸的是,这很容易被误解,因此最初引起了我的疑问。短语“ 仅加载基本软件包”表示在启动过程中仅将base
软件包作为第一个软件包加载,而其他默认软件包(例如{{1})将加载}将在通过用户stats
文件获取的软件包之后加载。
这就是为什么在启动过程中将软件包.Rprofile
的{{1}}函数加载到用户filter()
文件中的原因被默认的dplyr
函数掩盖了软件包.Rprofile
,在源用户filter()
文件之后加载。
答案 1 :(得分:0)
duba
在R加载基本库之前运行
首先加载软件包.Rprofile
stats