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

Einen Kommentar hinzufügen

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