So beheben sie in r: fehler in as.date.numeric(x): „origin“ muss angegeben werden


Ein Fehler, der in R auftreten kann, ist:

 Error in as.Date.numeric(x) : 'origin' must be supplied 

Dieser Fehler tritt normalerweise auf, wenn Sie versuchen, eine Zahl in ein Datum in R umzuwandeln, aber kein Originaldatum angeben können.

In diesem Tutorial wird genau erklärt, wie Sie diesen Fehler beheben können.

So reproduzieren Sie den Fehler

Angenommen, wir haben den folgenden Datenrahmen in R, der die Gesamtverkäufe eines Unternehmens über mehrere Tage zeigt:

 #create data frame
df <- data. frame (date=c(27, 140, 180, 200),
                 sales=c(12, 22, 30, 31))

#view data frame
df

  dirty dates
1 27 12
2 140 22
3 180 30
4,200 31

Mit der Funktion str() können wir die Struktur des Datenrahmens anzeigen:

 #view structure of data frame
str(df)

'data.frame': 4 obs. of 2 variables:
 $ date: num 27 140 180 200
 $ sales: num 12 22 30 31

Wir können sehen, dass die Datums- und Verkaufsspalten beide numerisch sind.

Nehmen wir nun an, wir versuchen, die Datumsspalte in ein Datumsformat umzuwandeln:

 #attempt to convert date column to date format
df$date <- as. Date (df$date)

Error in as.Date.numeric(df$date) : 'origin' must be supplied

Wir erhalten eine Fehlermeldung, weil wir das Ursprungsargument in der Funktion as.Date() nicht verwendet haben.

So beheben Sie den Fehler

Die Möglichkeit, diesen Fehler zu beheben, besteht darin, einfach ein Originaldatum anzugeben, damit R weiß, wie man Zahlen in Datumsangaben umwandelt:

 #convert date column to date format, using 2020-01-01 as origin date
df$date <- as. Date (df$date, origin=" 2020-01-01 ")

#view updated data frame
df

        dirty dates
1 2020-01-28 12
2 2020-05-20 22
3 2020-06-29 30
4 2020-07-19 31

Durch die Angabe eines Ursprungsdatums wandelte R die Zahlen in Datumsangaben um, indem es die Anzahl der Tage zum angegebenen Ursprung hinzufügte.

Zum Beispiel:

  • Der erste Datumswert von 27 wurde in den 28.01.2020 konvertiert, indem 27 Tage zum ursprünglichen Datum vom 01.01.2020 hinzugefügt wurden.
  • Der zweite Datumswert von 140 wurde in den 20.05.2020 umgewandelt, indem 140 Tage zum ursprünglichen Datum vom 01.01.2020 hinzugefügt wurden.

Und so weiter.

Wir können auch die Funktion class() verwenden, um zu bestätigen, dass die neue Spalte tatsächlich ein Datum ist:

 #display class of date column
class(df$date)

[1] “Date”

Die neue Spalte enthält jetzt ein Datum anstelle einer Zahl.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Fehler in R beheben können:

So beheben Sie das Problem in R: Namen stimmen nicht mit vorherigen Namen überein
So beheben Sie das Problem in R: Die Länge eines längeren Objekts ist kein Vielfaches der Länge eines kürzeren Objekts
So korrigieren Sie in R: Kontraste können nur auf Faktoren mit 2 oder mehr Ebenen angewendet werden

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert