วิธีแยกเดือนจากวันที่ใน 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

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *