การนำเข้า datetime ใน R
เช่นเดียวกับวันที่ที่ไม่มีเวลา หาก R ต้องจดจำ string ว่าเป็น datetime จะต้องแปลงค่าก่อน โดยใช้ฟังก์ชัน as.POSIXct() ซึ่งรับ string ในรูปแบบ YYYY-MM-DD HH:MM:SS
สิ่งที่ต้องระวังคือเวลาจะถูกตีความตาม timezone ของเครื่องที่ใช้งานอยู่ ตรวจสอบ timezone ได้ด้วย Sys.timezone() หากต้องการให้ตีความเวลาใน timezone อื่น ให้กำหนดค่าผ่าน argument tz ของ as.POSIXct() โดยจะได้เรียนรู้เรื่อง timezone เพิ่มเติมในบทที่ 4
ในแบบฝึกหัดนี้จะได้ลองป้อน datetime สองค่าด้วยตนเอง แล้วดูว่า read_csv() จัดการ datetime โดยอัตโนมัติได้อย่างไรในหลายกรณี
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การทำงานกับวันที่และเวลาใน R
คำแนะนำการฝึกหัด
- ใช้
as.POSIXct()พร้อม string ที่เหมาะสม เพื่อป้อน datetime ที่ตรงกับวันที่ 1 ตุลาคม 2010 เวลา 12:12:00 - ป้อน datetime เดิมอีกครั้ง แต่คราวนี้ระบุ timezone เป็น
"America/Los_Angeles" - ใช้
read_csv()เพื่ออ่านไฟล์rversions.csvอีกครั้ง - ตรวจสอบโครงสร้างของคอลัมน์
datetimeเพื่อยืนยันว่าread_csv()แปลงค่านั้นเป็น datetime ได้อย่างถูกต้อง
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Use as.POSIXct to enter the datetime
as.POSIXct(___)
# Use as.POSIXct again but set the timezone to `"America/Los_Angeles"`
as.POSIXct(___, tz = ___)
# Use read_csv to import rversions.csv
releases <- read_csv(___)
# Examine structure of datetime column
str(___)