วิธีแยกเดือนจากวันที่ใน r (พร้อมตัวอย่าง)
มีสองวิธีในการแยกเดือนออกจากวันที่ใน R อย่างรวดเร็ว:
วิธีที่ 1: ใช้รูปแบบ ()
df$month <- format( as.Date (df$date, format=" %d/%m/%Y ")," %m ")
วิธีที่ 2: ใช้แพ็คเกจ หล่อลื่น
library (lubridate) df$month <- month( mdy (df$date))
บทช่วยสอนนี้แสดงตัวอย่างวิธีใช้แต่ละวิธีในทางปฏิบัติ
วิธีที่ 1: แยกเดือนจากวันที่โดยใช้รูปแบบ ()
รหัสต่อไปนี้แสดงวิธีการแยกเดือนออกจากวันที่โดยใช้ฟังก์ชัน format() รวมกับอาร์กิวเมนต์ “%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
โปรดทราบว่าฟังก์ชัน format() นี้ใช้ได้กับรูปแบบวันที่ที่หลากหลาย คุณเพียงแค่ต้องระบุรูปแบบ:
#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
หมายเหตุ : คุณยังสามารถใช้ %B เพื่อแยกเดือนเป็นชื่อสตริง (มกราคม) แทนค่าตัวเลข (01)
วิธีที่ 2: แยกเดือนนับจากวันที่โดยใช้ Lubridate
นอกจากนี้เรายังสามารถใช้ฟังก์ชันในแพ็คเกจ lubridate เพื่อแยกเดือนออกจากวันที่ได้อย่างรวดเร็ว:
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 ยังใช้งานได้กับรูปแบบวันที่ที่หลากหลาย คุณเพียงแค่ต้องระบุรูปแบบ:
#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
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน R:
วิธีแยกปีจากวันที่ใน R
วิธีการคำนวณจำนวนเดือนระหว่างวันที่ใน R