ggplot2

ggplot2 เป็น หนึ่งใน library(tidy verse) ที่สามาร plot กราฟออกมาได้หลากหลายรูปแบบมากไม่ว่าจะเป็น
- Histogram
- Bar plot
- Scatter plot
- Box plot
- Violin plot
- etc.
ตัวอย่างกราฟที่สร้างด้วย library(ggplot2)



การสร้างกราฟใน R ด้วย ggplot2
การสร้างกราฟด้วย ggplot2 นั้น ตัวโค้ดจริงนั้นไม่ยากครับ เพียงแต่ว่าเราต้องเลือกกราฟให้ถูกกับตัวแปรที่เราจะนำไป plot ซึ่งแบ่งหลักๆออกเป็น 2 ประเภทอิงจาก ggplot2 cheat sheet เลย
1. ตัวแปร Discrete
ตัวแปร Discrete แปรตรงตัว ก็คือ ตัวแปรไม่ต่อเนื่อง แล้ว…? ไม่ต่อเนื่องแบบไหนล่ะ
คือ การที่มันนับแบบ 1 2 3 4 ได้ จะไม่มีค่าระหว่างเลขสองตัวแบบ 1 และ 2 ก็จะไม่มี 1.23 หรือ 1.86 แบบนี้ ซึ่งการที่มันไม่มีค่าระหว่างเลขสองตัวแบบนี้เนี่ย ทำให้การนับ เป็นไปอย่างจำกัด เช่น จะไม่มีค่ามาทำนอง 1.3333… ซ้ำไปแบบไม่รู้จบ
ตัวอย่างเช่น
- จำนวนสินค้าที่ขายได้ในแต่ละวัน
- จำนวนนักเรียนในห้องเรียน(คือจะไม่มีมาแบบ 3.5 คน แบบนี้ไม่มี)
- จำนวนหน้าลูกเต๋า
- จำนวนประเทศในโลก
- จำนวนต้นไม่ในป่า
2.ตัวแปร Continuous
ตัวแปร Continuos ก็คือแบบต่อเนื่อง ตรงข้ามกับแบบ Discrete เลย
คือ จะมีช่วงของค่าที่ไม่จำกัด เช่น 1.33333333….. ได้แบบนี้เรียก Continous ยกตัวอย่างจะเข้าใจง่ายขึ้น
ตัวอย่างเช่น
- น้ำหนัก 10.23425…. กิโลกรัม แบบนี้ Continuos เลย
- ระยะทาง 3.1234444… กิโลเมตร
- ความสูงของคน 170.455 cm
- อุณหภมิ 18.23 องศาเซลเซียส
พอเข้าใจ Discrete และ Continuous เราก็มาเทียบกับ ggplot2 cheat sheet ได้ไม่ยากแล้ว
Mapping and Setting
Mapping กับ Setting เป็นอีกเรื่องนึงที่สำคัญหากจะเริ่มต้นลงมือเขียนโค้ด
Mapping vs. Setting ใช้ต่างกันยังไง
“Mapping”
เป็นเหมือน base ที่ยังไม่มีรูปร่างหรือกราฟ ซึ่ง mapping จะผูกติดอยู่กับข้อมูล เช่น
ggplot(data = mtcars, aes(x = wt, y = mpg, color = factor(cyl))) และจะอยู่ใน aes(...) เสมอ
“Setting”
คือ การซ้อนหน้าตาของกราฟลงไป ซึ่งไม่ผูกติดกับข้อมูล เช่น
ggplot(data = mtcars, aes(x = wt, y = mpg)) + geom_point(color = "blue") คือ ซ้อน กราฟ scatter plot ลงที่ชุดข้อมูล และ ให้จุดแต่ละจุดเป็นสีฟ้าโดยไม่สนใจว่าเป็นข้อมูลชนิดหรือประเภทอะไร
ตัวอย่างการเขียนโค้ดเบื้องต้น
อันดับแรกติดตั้ง library(ggplot2) แต่ส่วนตัวผมถนัดติดตั้ง library(tidyverse) เลย และแน่นอน ตัวอย่าง dataset เริ่มต้นของเรา “mtcars”
Histogram
ggplot(mtcars, aes(x = mpg)) +
geom_histogram(binwidth = 2, fill = "skyblue", color = "black") +
theme_minimal()

Scatterplot
mtcars %>%
select(mpg, hp) %>%
ggplot(mapping = aes(x = hp,
y = mpg)) +
geom_point(col = "salmon") +
theme_minimal()


Leave a comment