我需要加载到R包:tseries和chron
两者都有一个名为is.weekend的函数
在我的环境中,我始终具有我加载的第二个软件包中的函数。
我怎样才能总是从chron访问函数?
Answers:
您可能已经注意到,加载软件包的顺序有所不同,即,最后加载的软件包将掩盖先前加载的软件包中的功能。
要指定您要使用的软件包,语法为:
chron::is.weekend()
tseries::is.weekend()
换句话说,使用 packagename::functionname()
另外,如果您知道总是要在chron中使用该函数,则可以如下定义自己的函数:
is.weekend <- chron::is.weekend #EDIT
is.weekend<-chron::is.weekend
足够的。
:::
需要该运算符。
base::`%in%`
或`%in%` <- base::`%in%`
您应该转向conflicted
Hadly的包裹。
library(conflicted)
library(dplyr)
filter(mtcars, am & cyl == 8)
然后,有冲突的程序包将引发错误,并迫使您清楚地确定要使用的功能:
错误:在2个程序包中找到了过滤器。您必须使用:: * dplyr :: filter * stats :: filter指明要使用哪一个
要解决整个会话的冲突,请使用<-
:
filter <- dplyr::filter
filter(mtcars, am & cyl == 8)
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
您还可以转到conflict_prefer()
可以在发生冲突时确定获胜者的功能。该代码示例是从Hadly借来的,请参考该软件包的网站。
https://www.tidyverse.org/blog/2018/06/conflicted/
我有2个具有相同功能名称ts()的软件包。2个具有相同功能的包装是:
?ts
Help on topic 'ts' was found in the following packages:
Time-Series Objects
(in package stats in library C:/Program Files/R/R-3.6.2/library)
Format time stamps
(in package bReeze in library C:/Users/mycomputer/Documents/R/win-library/3.6)
解决方案:然后使用我使用的软件包预测所附带的功能ts:因为帮助显示了forcast正在调用统计信息
时间序列对象(在软件包统计信息中)
stats::ts
因为可以从帮助中看到预测使用了称为stats的程序包;)
forecast::ts
Time-Series Objects
(in package stats
给我错误,因为预报包使用子包;
因此最终用法如下所示:
library(bReeze)
library(forecast)
# Subset data
my_time_series <- stats::ts(c(df_sub$y), start=2018, frequency = 12)
# Plot
theme_set(theme_classic())
ggseasonplot(my_time_series) + labs(title="My graph title")