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

การดึงข้อมูลเพื่อสร้างกราฟ

การดึงส่วนประกอบต่าง ๆ จาก datetime มีประโยชน์มากในการสำรวจข้อมูล ก่อนหน้านี้ในบทเรียนนี้ เราได้นำเข้าข้อมูลรายวันเกี่ยวกับสภาพอากาศในเมืองโอ๊กแลนด์ และสร้างกราฟอนุกรมเวลาของอุณหภูมิสูงสุดรายวันตลอดสิบปี แม้กราฟดังกล่าวจะให้ภาพรวมของทั้งสิบปีได้ดี แต่ก็ยากที่จะมองเห็นรูปแบบที่เกิดขึ้นในแต่ละปี

ในแบบฝึกหัดนี้ คุณจะใช้ส่วนประกอบของวันที่เพื่อสำรวจรูปแบบของอุณหภูมิสูงสุดตลอดทั้งปี ขั้นแรกคือการสร้างคอลัมน์ใหม่เพื่อเก็บค่าที่ดึงออกมา จากนั้นจึงนำไปใช้ในกราฟสองรูปแบบ

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การทำงานกับวันที่และเวลาใน R

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ mutate() เพื่อสร้างสามคอลัมน์ใหม่ ได้แก่ year, yday และ month ซึ่งแต่ละคอลัมน์เก็บส่วนประกอบที่สอดคล้องกันของคอลัมน์ date อย่าลืมกำหนดชื่อเดือนให้กับคอลัมน์ month ด้วย
  • สร้างกราฟโดยให้ yday อยู่บนแกน x และ max_temp อยู่บนแกน y โดยแบ่งเส้นตามปีใน year แต่ละปีจะแสดงเป็นเส้นหนึ่งเส้นบนกราฟ โดยแกน x ครอบคลุมตั้งแต่ 1 ม.ค. ถึง 31 ธ.ค.
  • เพื่อมองข้อมูลในมุมอื่น ให้สร้างกราฟ ridgeline (เดิมรู้จักกันในชื่อ joyplot) โดยให้ max_temp อยู่บนแกน x และ month อยู่บนแกน y โดยใช้ geom_density_ridges() จากแพ็กเกจ ggridges

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

library(ggplot2)
library(dplyr)
library(ggridges)

# Add columns for year, yday and month
akl_daily <- akl_daily %>%
  mutate(
    ___ = ___(date),
    ___ = ___(date),
    ___ = ___(date, ___))

# Plot max_temp by yday for all years
ggplot(akl_daily, aes(x = ___, y = ___)) +
  geom_line(aes(group = ___), alpha = 0.5)

# Examine distribution of max_temp by month
ggplot(akl_daily, aes(x = ___, y = ___, height = ..density..)) +
  geom_density_ridges(stat = "density")
แก้ไขและรันโค้ด