Timezone ในข้อมูลสภาพอากาศ
สังเกตไหมว่าในข้อมูลสภาพอากาศรายชั่วโมงของเมืองโอ๊คแลนด์มีคอลัมน์ datetime อีกคอลัมน์หนึ่งชื่อ date_utc? ลองดูได้เลย:
tibble::glimpse(akl_hourly)
คอลัมน์ datetime ที่สร้างขึ้นนั้นแทนเวลาท้องถิ่นของโอ๊คแลนด์ ประเทศนิวซีแลนด์ คาดว่าคอลัมน์ date_utc ที่เพิ่มเข้ามานั้นแทนเวลาที่บันทึกการสังเกตใน UTC (ชื่อคอลัมน์บอกใบ้ไว้ชัดเจนมาก) แต่เป็นอย่างนั้นจริงหรือเปล่า?
ลองใช้ทักษะด้าน timezone ที่เพิ่งเรียนมาเพื่อหาคำตอบ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การทำงานกับวันที่และเวลาใน R
คำแนะนำการฝึกหัด
ข้อมูลอยู่ใน data frame ชื่อ akl_hourly
- ขณะนี้
datetimeและdate_utcอยู่ใน timezone ใด? ตรวจสอบโดยดูค่าต้นๆ ของคอลัมน์datetimeและdate_utc - แก้ไข
datetimeให้ใช้ timezone"Pacific/Auckland" - ตรวจสอบค่าต้นๆ ของคอลัมน์
datetimeอีกครั้ง เพื่อยืนยันว่าเวลาที่แสดงยังเหมือนเดิม แต่ตอนนี้อยู่ใน timezone ที่ถูกต้องแล้ว - จากนั้นสรุปผลต่างระหว่างคอลัมน์
datetimeและdate_utcถ้าสมมติฐานของเราถูกต้อง ผลลัพธ์ควรเป็นศูนย์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Examine datetime and date_utc columns
head(___)
head(___)
# Force datetime to Pacific/Auckland
akl_hourly <- akl_hourly %>%
mutate(
datetime = ___(datetime, tzone = ___))
# Reexamine datetime
head(___)
# Are datetime and date_utc the same moments
table(___ - ___)