การคำนวณกับเวลา
การคำนวณด้วยออบเจกต์ POSIXct ทำได้ในลักษณะเดียวกับการคำนวณด้วยออบเจกต์ Date ลองทดสอบโค้ดด้านล่างนี้เพื่อเพิ่มหรือลดค่าออบเจกต์ POSIXct:
now <- Sys.time()
now + 3600 # add an hour
now - 3600 * 24 # subtract a day
การบวกหรือลบออบเจกต์เวลาก็ทำได้ง่ายเช่นกัน:
birth <- as.POSIXct("1879-03-14 14:37:23")
death <- as.POSIXct("1955-04-18 03:47:12")
einstein <- death - birth
einstein
สมมติว่ากำลังพัฒนาเว็บไซต์ที่ต้องการให้ผู้ใช้ล็อกอินและล็อกเอาต์ และต้องการทราบว่าผู้ใช้คนหนึ่งใช้เวลาบนเว็บไซต์รวมและเฉลี่ยเท่าไร ผู้ใช้รายนี้ล็อกอิน 5 ครั้งและล็อกเอาต์ 5 ครั้ง โดยเวลาเหล่านี้ถูกเก็บไว้ในเวกเตอร์ login และ logout ซึ่งกำหนดไว้ใน workspace แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
R ระดับกลาง
คำแนะนำการฝึกหัด
- คำนวณผลต่างระหว่างเวกเตอร์
logoutและloginซึ่งก็คือเวลาที่ผู้ใช้ออนไลน์ในแต่ละเซสชัน แล้วเก็บผลลัพธ์ไว้ในตัวแปรtime_online - ตรวจสอบตัวแปร
time_onlineด้วยการพิมพ์ค่าออกมา - คำนวณเวลารวมที่ผู้ใช้ออนไลน์ แล้วพิมพ์ผลลัพธ์
- คำนวณเวลาเฉลี่ยที่ผู้ใช้ออนไลน์ แล้วพิมพ์ผลลัพธ์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# login and logout are already defined in the workspace
# Calculate the difference between login and logout: time_online
# Inspect the variable time_online
# Calculate the total time online
# Calculate the average time online