And*_*rie 81
您可能已经注意到加载包的顺序有所不同,即最后加载的包将掩盖先前加载的包中的函数.
要指定要使用的包,语法为:
chron::is.weekend()
tseries::is.weekend()
Run Code Online (Sandbox Code Playgroud)
换句话说,使用 packagename::functionname()
此外,如果您知道您将始终想要使用chron中的函数,则可以按如下方式定义自己的函数:
is.weekend <- chron::is.weekend #EDIT
Run Code Online (Sandbox Code Playgroud)
小智 6
你应该转向conflicted哈德利的包裹。
library(conflicted)
library(dplyr)
filter(mtcars, am & cyl == 8)
Run Code Online (Sandbox Code Playgroud)
然后冲突的包将抛出错误,并迫使您明确确定您更喜欢哪个功能:
错误:在 2 个包中发现过滤器。您必须使用 :: * dplyr::filter * stats::filter 指明您想要哪一个
要解决整个会话的冲突,请使用<-:
filter <- dplyr::filter
filter(mtcars, am & cyl == 8)
Run Code Online (Sandbox Code Playgroud)
mpg cyl disp hp drat wt qsec vs am gear carb
1 15.8 8 351 264 4.22 3.17 14.5 0 1 5 4
2 15.0 8 301 335 3.54 3.57 14.6 0 1 5 8
Run Code Online (Sandbox Code Playgroud)
您还可以使用conflict_prefer()在发生冲突时确定获胜者的功能。代码示例借自Hadly,请参考包网站。
https://www.tidyverse.org/blog/2018/06/conflicted/
library(chron)
is.weekend.chron <- is.weekend
library(tseries)
Run Code Online (Sandbox Code Playgroud)
那么你可以为 tseries 版本调用 is.weekend 或为 chron 版本调用 is.weekend.chron
| 归档时间: |
|
| 查看次数: |
46225 次 |
| 最近记录: |