So extrahieren sie den monat aus dem datum in r (mit beispielen)
Es gibt zwei Möglichkeiten, den Monat schnell aus einem Datum in R zu extrahieren:
Methode 1: Verwenden Sie format()
df$month <- format( as.Date (df$date, format=" %d/%m/%Y ")," %m ")
Methode 2: Verwenden Sie das Schmiermittelpaket
library (lubridate) df$month <- month( mdy (df$date))
Dieses Tutorial zeigt ein Beispiel für die praktische Anwendung jeder dieser Methoden.
Methode 1: Extrahieren Sie den Monat aus dem Datum mit format()
Der folgende Code zeigt, wie man den Monat aus einem Datum extrahiert, indem man die Funktion format() in Kombination mit dem Argument „%m“ verwendet:
#create data frame df <- data. frame (date=c("01/01/2021", "01/04/2021" , "01/09/2021"), sales=c(34, 36, 44)) #view data frame df dirty date 1 01/01/2021 34 2 01/04/2021 36 3 01/09/2021 44 #create new variable that contains month df$month <- format( as.Date (df$date, format=" %d/%m/%Y ")," %m ") #view updated data frame df date sales month 1 01/01/2021 34 01 2 01/04/2021 36 04 3 01/09/2021 44 09
Beachten Sie, dass diese format() -Funktion mit einer Vielzahl von Datumsformaten funktioniert. Sie müssen lediglich das Format angeben:
#create data frame df <- data. frame (date=c("2021-01-01", "2021-01-04", "2021-01-09"), sales=c(34, 36, 44)) #view data frame df dirty date 1 2021-01-01 34 2 2021-01-04 36 3 2021-01-09 44 #create new variable that contains month df$month<- format( as.Date (df$date, format=" %Y-%m-%d ")," %m ") #view updated data frame df date sales month 1 2021-01-01 34 01 2 2021-01-04 36 01 3 2021-01-09 44 01
Hinweis : Sie können %B auch verwenden, um den Monat als Zeichenfolgennamen (Januar) anstelle eines numerischen Werts (01) zu extrahieren.
Methode 2: Extrahieren Sie den Monat aus dem Datum mit Lubridate
Wir können auch Funktionen im lubridate-Paket verwenden, um schnell den Monat aus einem Datum zu extrahieren:
library (lubridate) #create data frame df <- data. frame (date=c("01/01/2021", "01/04/2021" , "01/09/2021"), sales=c(34, 36, 44)) #view data frame df dirty dates 1 01/01/2021 34 2 01/04/2021 36 3 01/09/2021 44 #create new variable that contains month df$month<- month( mdy (df$date)) #view updated data frame df date sales month 1 01/01/2021 34 1 2 01/04/2021 36 1 3 01/09/2021 44 1
Lubridate funktioniert auch mit einer Vielzahl von Datumsformaten. Sie müssen lediglich das Format angeben:
#create data frame df <- data. frame (date=c("2021-01-01", "2021-01-04", "2021-01-09"), sales=c(34, 36, 44)) #view data frame df dirty date 1 2021-01-01 34 2 2021-01-04 36 3 2021-01-09 44 #create new variable that contains month df$month <- month( ymd (df$date)) #view updated data frame df date sales month 1 2021-01-01 34 1 2 2021-01-04 36 1 3 2021-01-09 44 1
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in R ausgeführt werden:
So extrahieren Sie das Jahr aus dem Datum in R
So berechnen Sie die Anzahl der Monate zwischen Datumsangaben in R