Maand uit datum extraheren in r (met voorbeelden)
Er zijn twee manieren om snel de maand uit een datum in R te extraheren:
Methode 1: Gebruik format()
df$month <- format( as.Date (df$date, format=" %d/%m/%Y ")," %m ")
Methode 2: Gebruik het smeerpakket
library (lubridate) df$month <- month( mdy (df$date))
Deze tutorial toont een voorbeeld van hoe u elk van deze methoden in de praktijk kunt gebruiken.
Methode 1: Extraheer maand vanaf datum met format()
De volgende code laat zien hoe je de maand uit een datum kunt extraheren met behulp van de functie format() in combinatie met het argument „%m“ :
#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
Merk op dat deze format() -functie met verschillende datumformaten werkt. U hoeft alleen maar het formaat op te geven:
#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
Opmerking : u kunt %B ook gebruiken om de maand als tekenreeksnaam (januari) te extraheren in plaats van als een numerieke waarde (01).
Methode 2: Extraheer de maand vanaf de datum met Lubridate
We kunnen ook functies in het smeerpakket gebruiken om snel de maand uit een datum te halen:
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 werkt ook met verschillende datumformaten. U hoeft alleen maar het formaat op te geven:
#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
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in R kunt uitvoeren:
Hoe jaar uit datum te extraheren in R
Hoe het aantal maanden tussen datums in R te berekenen