วิธีการ ลบชั่วโมงออกจากเวลาใน r (พร้อมตัวอย่าง)
คุณสามารถใช้วิธีใดๆ ต่อไปนี้เพื่อลบจำนวนชั่วโมงที่แน่นอนออกจากหนึ่งชั่วโมงใน R:
วิธีที่ 1: ใช้ Base R
#create new column that subtracts 4 hours from time df$subtract4 <- df$time - ( 4 * 3600 )
วิธีที่ 2: ใช้แพ็คเกจ Lubridate
library (lubridate) #create new column that subtracts 4 hours from time df$subtract4 <- df$time - hours( 4 )
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีกับกรอบข้อมูลต่อไปนี้:
#create data frame df <- data. frame (time=as. POSIXct (c('2022-01-03 08:04:15', '2022-01-05 14:04:15', '2022-01-05 20:03:53', '2022-01-06 03:29:13', '2022-01-06 06:15:00', '2022-01-07 10:48:11'), format='%Y-%m-%d %H:%M:%OS'), sales=c(130, 98, 240, 244, 174, 193)) #view data frame df time sales 1 2022-01-03 08:04:15 130 2 2022-01-05 14:04:15 98 3 2022-01-05 20:03:53 240 4 2022-01-06 03:29:13 244 5 2022-01-06 06:15:00 174 6 2022-01-07 10:48:11 193
หมายเหตุ : หากต้องการเพิ่มเวลาให้กับวันที่ เพียงแทนที่เครื่องหมายลบด้วยเครื่องหมายบวกในสูตรใดสูตรหนึ่งข้างต้น
ตัวอย่างที่ 1: การลบชั่วโมงออกจากเวลาโดยใช้ฐาน R
รหัสต่อไปนี้แสดงวิธีการสร้างคอลัมน์ใหม่ที่เรียกว่า subtract4 ซึ่งจะลบสี่ครั้งจากแต่ละค่าในคอลัมน์ เวลา :
#create new column that subtracts 4 hours from time
df$subtract4 <- df$time - ( 4 * 3600 )
#view updated data frame
df
time sales subtract4
1 2022-01-03 08:04:15 130 2022-01-03 04:04:15
2 2022-01-05 14:04:15 98 2022-01-05 10:04:15
3 2022-01-05 20:03:53 240 2022-01-05 16:03:53
4 2022-01-06 03:29:13 244 2022-01-05 23:29:13
5 2022-01-06 06:15:00 174 2022-01-06 02:15:00
6 2022-01-07 10:48:11 193 2022-01-07 06:48:11
โปรดทราบว่าค่าในคอลัมน์ subtract4 ใหม่จะเท่ากับค่าในคอลัมน์ เวลา โดยลบสี่ชั่วโมง
หมายเหตุ : เราใช้ (4*3600) ในสูตรเนื่องจากค่าเวลาจะเก็บเป็นวินาทีใน R เนื่องจากในหนึ่งชั่วโมงมี 3600 วินาที เราจึงต้องคูณ 4 ด้วย 3600 เพื่อลบ 4 ชั่วโมง
ตัวอย่างที่ 2: ลบชั่วโมงออกจากเวลาโดยใช้แพ็คเกจ Lubridate
รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน hours() ของแพ็คเกจ lubridate เพื่อสร้างคอลัมน์ใหม่ที่เรียกว่า subtract4 ซึ่งจะลบสี่ชั่วโมงออกจากแต่ละค่าในคอลัมน์ เวลา :
library (lubridate)
#create new column that subtracts 4 hours from time
df$subtract4 <- df$time - hours( 4 )
#view updated data frame
df
time sales subtract4
1 2022-01-03 08:04:15 130 2022-01-03 04:04:15
2 2022-01-05 14:04:15 98 2022-01-05 10:04:15
3 2022-01-05 20:03:53 240 2022-01-05 16:03:53
4 2022-01-06 03:29:13 244 2022-01-05 23:29:13
5 2022-01-06 06:15:00 174 2022-01-06 02:15:00
6 2022-01-07 10:48:11 193 2022-01-07 06:48:11
โปรดทราบว่าค่าในคอลัมน์ subtract4 ใหม่จะเท่ากับค่าในคอลัมน์ เวลา โดยลบสี่ชั่วโมง
โปรดทราบว่าวิธีนี้ให้ผลลัพธ์เหมือนกับวิธี R พื้นฐาน
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:
วิธีแปลงวันที่เป็นตัวเลขใน R
วิธีแยกเดือนจากวันที่ใน R
วิธีเพิ่มและลบเดือนถึงวันที่ใน R