Hoe jaar uit datum te extraheren in r (met voorbeelden)
Er zijn twee manieren om snel het jaartal uit een datum in R te halen:
Methode 1: Gebruik format()
df$year <- format( as.Date (df$date, format=" %d/%m/%Y ")," %Y ")
Methode 2: Gebruik het smeerpakket
library (lubridate) df$year <- year( mdy (df$date))
Deze tutorial toont een voorbeeld van hoe u elk van deze methoden in de praktijk kunt gebruiken.
Methode 1: Jaar uit datum extraheren met format()
De volgende code laat zien hoe je het jaar uit een datum kunt extraheren met behulp van de functie format() in combinatie met het argument „%Y“ :
#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 year df$year <- format( as.Date (df$date, format=" %d/%m/%Y ")," %Y ") #view new data frame df date sales year 1 01/01/2021 34 2021 2 01/04/2021 36 2021 3 01/09/2021 44 2021
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 year df$year <- format( as.Date (df$date, format=" %Y-%m-%d ")," %Y ") #view new data frame df date sales year 1 01/01/2021 34 2021 2 01/04/2021 36 2021 3 01/09/2021 44 2021
Methode 2: Extraheer het jaar vanaf de datum met Lubridate
We kunnen ook functies in het smeerpakket gebruiken om snel het jaartal 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 year df$year <- year( mdy (df$date)) #view new data frame df date sales year 1 01/01/2021 34 2021 2 01/04/2021 36 2021 3 01/09/2021 44 2021
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 dates 1 2021-01-01 34 2 2021-01-04 36 3 2021-01-09 44 #create new variable that contains year df$year <- year( ymd (df$date)) #view new data frame df date sales year 1 01/01/2021 34 2021 2 01/04/2021 36 2021 3 01/09/2021 44 2021
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in R uitvoert:
Hoe kolomnamen te herhalen in R
Hoe u uitschieters uit meerdere kolommen in R kunt verwijderen