ดึงข้อมูลอะไรได้บ้าง?
จากที่เห็นในวิดีโอ ส่วนประกอบของ datetime สามารถดึงออกมาได้ด้วยฟังก์ชันใน lubridate ที่มีชื่อตรงกัน เช่น year(), month(), day(), hour(), minute() และ second() ฟังก์ชันเหล่านี้ทำงานในรูปแบบเดียวกัน เพียงส่ง datetime หรือเวกเตอร์ของ datetime เข้าไป
นอกจากนี้ยังมีฟังก์ชันที่มีประโยชน์อีกหลายตัว ซึ่งคืนค่าด้านอื่นของ datetime เช่น ตรวจสอบว่าเกิดขึ้นในช่วงเช้าด้วย am() อยู่ในช่วงเวลาออมแสงด้วย dst() อยู่ในปีอธิกสุรทินด้วย leap_year() หรืออยู่ในไตรมาสใดด้วย quarter() และในช่วงครึ่งปีใดด้วย semester()
ลองใช้ฟังก์ชันเหล่านี้โดยสำรวจเวลาที่ปล่อย R แต่ละเวอร์ชัน โดยใช้ข้อมูลจากบทที่ 1
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การทำงานกับวันที่และเวลาใน R
คำแนะนำการฝึกหัด
เราได้เตรียม release_time ซึ่งเป็นคอลัมน์ datetime จากชุดข้อมูล releases ในบทที่ 1 ไว้ให้ในพื้นที่ทำงานแล้ว
- ตรวจสอบ
head()ของrelease_timeเพื่อยืนยันว่านี่คือเวกเตอร์ของ datetime - ดึงเดือนจาก
release_timeแล้วตรวจดูค่าแรก ๆ ด้วยhead() - หากต้องการดูว่าเดือนใดมีการปล่อยเวอร์ชันมากที่สุด ให้ดึงเดือนออกมา แล้ว pipe ต่อไปยัง
table() - ทำซ้ำขั้นตอนเดิม เพื่อดูว่าปีใดมีการปล่อยเวอร์ชันมากที่สุด
- การปล่อยเวอร์ชันเกิดขึ้นในช่วงเช้า (UTC) หรือไม่? ตรวจสอบว่าชั่วโมงของการปล่อยน้อยกว่า
12หรือเปล่า แล้วสรุปผลด้วยmean() - หรือจะใช้
am()เพื่อดูว่าการปล่อยเวอร์ชันเกิดขึ้นในช่วงเช้าบ่อยแค่ไหน
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Examine the head() of release_time
head(___)
# Examine the head() of the months of release_time
head(___(release_time))
# Extract the month of releases
___(release_time) %>% table()
# Extract the year of releases
___(release_time) %>% table()
# How often is the hour before 12 (noon)?
mean(___(release_time) < ___)
# How often is the release in am?
mean(___(release_time))