Ich muss in R-Pakete laden: tseries und chron
Beide haben eine Funktion namens is.weekend
Ich habe immer in meiner Umgebung die Funktion aus dem zweiten Paket, das ich geladen habe.
Wie kann ich immer von chron auf die Funktion zugreifen?
Ich muss in R-Pakete laden: tseries und chron
Beide haben eine Funktion namens is.weekend
Ich habe immer in meiner Umgebung die Funktion aus dem zweiten Paket, das ich geladen habe.
Wie kann ich immer von chron auf die Funktion zugreifen?
Antworten:
Sie haben wahrscheinlich bereits bemerkt, dass die Reihenfolge des Ladens der Pakete einen Unterschied macht, dh das zuletzt geladene Paket maskiert die Funktionen in zuvor geladenen Paketen.
Um das Paket anzugeben, das Sie verwenden möchten, lautet die Syntax wie folgt:
chron::is.weekend()
tseries::is.weekend()
Mit anderen Worten, verwenden Sie packagename::functionname()
Wenn Sie wissen, dass Sie die Funktion immer in chron verwenden möchten, können Sie Ihre eigene Funktion wie folgt definieren:
is.weekend <- chron::is.weekend #EDIT
is.weekend<-chron::is.weekend
reicht.
:::
Operator erforderlich.
base::`%in%`
oder`%in%` <- base::`%in%`
Sie sollten sich an das conflicted
Paket von Hadly wenden.
library(conflicted)
library(dplyr)
filter(mtcars, am & cyl == 8)
Dann wird das in Konflikt stehende Paket einen Fehler auslösen und Sie zwingen, klar zu bestimmen, welche Funktion Sie bevorzugen:
Fehler: Filter in 2 Paketen gefunden. Sie müssen angeben, welche Sie mit :: * dplyr :: filter * stats :: filter möchten
Verwenden Sie Folgendes, um Konflikte für Ihre gesamte Sitzung zu lösen <-
:
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
Sie können sich auch der conflict_prefer()
Funktion zuwenden, mit der der Gewinner ermittelt werden kann, wenn ein Konflikt auftritt. Das Codebeispiel wurde von Hadly ausgeliehen. Bitte beziehen Sie sich auf die Paket-Website.
https://www.tidyverse.org/blog/2018/06/conflicted/
Ich hatte 2 Pakete, die den gleichen Funktionsnamen hatten ts () Die 2 Pakete, die den gleichen Namen hatten, waren:
?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)
Lösung: Um dann die Funktion ts zu verwenden, die mit der Paketvorhersage geliefert wird, die ich verwendet habe: weil die Hilfe mir zeigte, dass forcast Statistiken aufruft
Zeitreihenobjekte (in Paketstatistiken
stats::ts
weil aus der Hilfe hervorgeht, dass Prognosen ein Paket namens stats verwenden;)
forecast::ts
Time-Series Objects
(in package stats
gab mir einen Fehler, weil das Prognosepaket ein Unterpaket verwendete;
Die endgültige Verwendung sieht also folgendermaßen aus:
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")