ตอบ: วิธีแปลงวันที่เป็นไตรมาสและปี
คุณสามารถใช้หนึ่งในสองวิธีเพื่อแปลงรูปแบบวันที่เป็นรูปแบบไตรมาสและปีใน R ได้อย่างรวดเร็ว:
วิธีที่ 1: ใช้แพ็คเกจสวนสัตว์
library (zoo) #convert date to year/quarter format #df$date <- as. yearqtr (df$date, format = ' %Y-%m-%d ')
วิธีที่ 2: ใช้แพ็คเกจ Lubridate
library (lubridate) library (dplyr) df %>% mutate(date = quarter(date, with_year = TRUE ))
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีกับกรอบข้อมูลต่อไปนี้:
#create data frame df <- data. frame (date=c('2022-01-03', '2022-02-15', '2022-05-09', '2022-08-10', '2022-10-14', '2022-12-30'), sales=c(130, 98, 120, 88, 94, 100)) #view data frame df dirty dates 1 2022-01-03 130 2 2022-02-15 98 3 2022-05-09 120 4 2022-08-10 88 5 2022-10-14 94 6 2022-12-30 100
ตัวอย่างที่ 1: ใช้แพ็คเกจสวนสัตว์
รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน as.yearqtr() จากแพ็คเกจ สวนสัตว์ เพื่อจัดรูปแบบวันที่ในรูปแบบปี/ไตรมาส:
library (zoo)
#convert date to year/quarter format
df$date <- as. yearqtr (df$date, format = ' %Y-%m-%d ')
#view updated data frame
df
dirty date
1 2022 Q1 130
2 2022 Q1 98
3 2022 Q2 120
4 2022 Q3 88
5 2022 Q4 94
6 2022 Q4 100
แต่ละวันที่ถูกแปลงเป็นรูปแบบไตรมาสและปี
ตัวอย่างที่ 2: ใช้แพ็คเกจ Lubridate
รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน Quarter() ของแพ็คเกจ lubridate เพื่อจัดรูปแบบวันที่ในรูปแบบปี/ไตรมาส:
library (lubridate)
library (dplyr)
#convert date to year/quarter format
df %>% mutate(date = quarter(date, with_year = TRUE ))
dirty date
1 2022.1 130
2 2022.1 98
3 2022.2 120
4 2022.3 88
5 2022.4 94
6 2022.4 100
แต่ละวันที่ถูกแปลงเป็นรูปแบบไตรมาสและปี
คุณยังสามารถละเว้นอาร์กิวเมนต์ with_year เพื่อแสดงเฉพาะไตรมาสที่ไม่มีปีได้:
library (lubridate)
library (dplyr)
#convert date to quarter format
df %>% mutate(date = quarter(date))
dirty date
1 1 130
2 1 98
3 2 120
4 3 88
5 4 94
6 4 100
ขณะนี้วันที่แสดงไตรมาสโดยไม่มีปี
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการแปลงไฟล์ทั่วไปอื่นๆ ใน R:
วิธีแปลงวันที่เป็นตัวเลขใน R
วิธีแปลงตัวเลขเป็นอักขระใน R
วิธีการแปลงตัวแปรเด็ดขาดให้เป็นตัวเลขใน R