การเพิ่ม Label ที่มีประโยชน์
ในแบบฝึกหัดก่อนหน้า เราได้ดึงเดือนของการเผยแพร่:
head(month(release_time))
และได้รับเดือนในรูปแบบตัวเลข บางครั้งการมีชื่อเดือนจะสะดวกกว่า (โดยเฉพาะเมื่อต้องการพล็อตกราฟหรือสร้างตาราง) ทั้งฟังก์ชัน month() และ wday() (วันในสัปดาห์) มีอาร์กิวเมนต์เพิ่มเติมคือ label และ abbr เพื่อจุดประสงค์นี้ ตั้งค่า label = TRUE เพื่อให้ผลลัพธ์แสดงเป็นชื่อเดือน (หรือชื่อวัน) และตั้งค่า abbr = FALSE เพื่อให้ชื่อเหล่านั้นแสดงแบบเต็มแทนที่จะย่อ
ลองรันโค้ดต่อไปนี้ดู:
head(month(release_time, label = TRUE, abbr = FALSE))
ฝึกฝนโดยการดูว่าวันใดในสัปดาห์ที่ R มักจะเผยแพร่เวอร์ชันใหม่บ่อยที่สุด
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การทำงานกับวันที่และเวลาใน R
คำแนะนำการฝึกหัด
releases เป็น data frame ที่มีคอลัมน์ชื่อ datetime ซึ่งเก็บเวลาที่เผยแพร่
- ก่อนอื่น ดูว่า
wday()ทำงานอย่างไรเมื่อยังไม่ใช้ label โดยเรียกใช้กับคอลัมน์datetimeของreleasesแล้วสรุปผลด้วยtable()รู้ไหมว่า1หมายถึงวันอาทิตย์หรือวันจันทร์? - ทำซ้ำขั้นตอนข้างต้น แต่คราวนี้ใช้ label โดยระบุอาร์กิวเมนต์
labelดีขึ้นเยอะเลยใช่ไหม? - จากนั้นเก็บวันในสัปดาห์แบบมี label ไว้ในคอลัมน์ใหม่ชื่อ
wday - สร้าง barchart แสดงจำนวนการเผยแพร่แยกตามวันในสัปดาห์ โดย facet ตามประเภทของการเผยแพร่
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
library(ggplot2)
# Use wday() to tabulate release by day of the week
___(releases$datetime) %>% table()
# Add label = TRUE to make table more readable
___(releases$datetime, ___) %>% table()
# Create column wday to hold labelled week days
releases$wday <- ___
# Plot barchart of weekday by type of release
ggplot(releases, aes(___)) +
geom_bar() +
facet_wrap(~ type, ncol = 1, scale = "free_y")