เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

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(___ - ___)
  
แก้ไขและรันโค้ด