Cara mengekstrak bulan dari tanggal di r (dengan contoh)
Ada dua cara untuk mengekstrak bulan dengan cepat dari tanggal di R:
Metode 1: Gunakan format()
df$month <- format( as.Date (df$date, format=" %d/%m/%Y ")," %m ")
Metode 2: Gunakan paket pelumasan
library (lubridate) df$month <- month( mdy (df$date))
Tutorial ini menunjukkan contoh bagaimana menggunakan masing-masing metode ini dalam praktik.
Metode 1: Ekstrak bulan dari tanggal menggunakan format()
Kode berikut menunjukkan cara mengekstrak bulan dari tanggal menggunakan fungsi format() yang digabungkan dengan argumen “%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
Perhatikan bahwa fungsi format() ini berfungsi dengan berbagai format tanggal. Anda hanya perlu menentukan formatnya:
#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
Catatan : Anda juga dapat menggunakan %B untuk mengekstrak bulan sebagai nama string (Januari) dan bukan nilai numerik (01).
Metode 2: Ekstrak bulan dari tanggal menggunakan Lubridate
Kita juga dapat menggunakan fungsi dalam paket lubridate untuk mengekstrak bulan dari tanggal dengan cepat:
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 juga berfungsi dengan berbagai format tanggal. Anda hanya perlu menentukan formatnya:
#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
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di R:
Cara mengekstrak tahun dari tanggal di R
Cara menghitung jumlah bulan antar tanggal di R