2017-05-18 5 views
2

Jeden Tag verwende ich date() -Funktion in R, um einen neuen Arbeitsordner mit dem heutigen Datum zu erstellen. Aber es funktioniert nicht, sobald ich lubridate Paket lade. date() funktioniert wieder, wenn ich das Paket entferne. Was funktioniert bei lubridate? Funktion "Datum" funktioniert anders? Während das lubridate Paket lädt, ist die Nachricht:Warum funktioniert date() nach dem Laden von lubridate-Paket nicht?

Attaching package: ‘lubridate’. The following object is masked from 
    ‘package:base’: date. 

Was den Wert von x Datum (x) sollte die heutige Datum und Zeit zu bekommen?

date() #works well 
library(lubridate) 
date() #does not work now. Error Msg: Error in as.POSIXlt(x, tz = tz(x)) : 
    #argument "x" is missing, with no default 
detach("package:lubridate", unload=TRUE) 
date() #now it works again without "x" 
+1

Verwenden Sie 'base :: date()' es ist ein Maskierungsproblem, wenn die Funktionen in verschiedenen Paketen den gleichen Namen haben. Eine Option ist die Verwendung von '::' – akrun

+0

Danke. Ja, es funktioniert jetzt. – dhp

Antwort

1

Die Funktion date() wird durch die Funktion ausgeblendet, die den gleichen Namen trägt lubridate::date()

Eine Abhilfe base::date()

+5

überschrieben ist nicht der richtige Begriff. Es wird maskiert. – Masoud

2

Grundsätzlich lubridate eine Funktion „Datum“ genannt enthält zu verwenden ist so, wenn Sie die Last lubridate-Paket verwenden Sie date() Funktion von diesem Paket und nicht aus dem Basispaket.

Wenn Sie eine spezifische Funktion von lubridate package verwenden möchten, geben Sie lubridate::"the name of the function goes here" ein, ohne das lubridate-Paket zu laden.

Verwandte Themen