R คือ programming language ที่เกิดมาเพื่อจัดการ data frame และทำงานด้าน data analysis โดยเฉพาะ บทความวันนี้เราจะมาสอนใช้งาน 5 functions ที่ R user ใช้กันทุกวันสำหรับการจัดการ data frame ง่ายๆ
สำหรับเพื่อนๆที่อยากทำตาม tutorial นี้ ต้องลง R และ RStudio Desktop ให้เสร็จก่อน ดาวน์โหลดและใช้งานฟรีทั้งสองโปรแกรมได้ที่ลิ้งนี้เลย R & RStudio
Data Frame คืออะไร?
data frame คือ Excel table ทั่วไปนี้เอง เวลาเรา import เข้าไปใน R เราจะเรียกมันว่า data frame ประกอบด้วย
- column คือตัวแปรแต่ละตัว
- row คือ record (observation) เช่น ลูกค้าแต่ละคน หรือ transaction แต่ละอัน เป็นต้น
เปิดโปรแกรม RStudio ขึ้นมา แล้วพิมพ์โค้ดนี้ลงไปใน console View(mtcars)
จะเห็นหน้าตาของ built-in dataset ชื่อว่า mtcars data frame หรือจะพิมพ์แค่ mtcars
ลงไปใน console เลยก็ได้ ลองซิ!

Easy Installation
tutorial วันนี้เราจะสอนใช้ package dplyr ในตำนานของทีมงาน RStudio เพื่อนๆสามารถดาวน์โหลด dplyr มาใช้งานได้ง่ายๆด้วยโค้ด install.packages("dplyr")
พอลงเสร็จเรียบร้อยแล้วก็เเรียกใช้งาน dplyr ด้วยคำสั่ง library(dplyr)
Five Verbs to Rule Them All
5 functions หลักของ dplyr ประกอบด้วย
- select() – ใช้ในการเลือกคอลั่มที่เราต้องการ
- filter() – ใช้เลือก record (แถว) ด้วยเงื่อนไขที่เราสร้าง
- arrange() – ใช้เรียงข้อมูลจากต่ำไปสูง (default)
- mutate() – ใช้สร้างคอลั่มใหม่
- summarise() – ใช้สรุปผลสถิติเบื้องต้นของคอลั่มใน data frame
ลองดูตัวอย่างการเขียนได้ด้านล่าง ทั้ง 5 functions มี pattern การเขียนเหมือนกันเลย โดย argument แรกของฟังชั่นคือชื่อ data frame ที่เราต้องการ manipulate
## เลือกคอลั่ม mpg, hp, wt จาก mtcars dataframe
select(mtcars, mpg, hp, wt)
## สร้างเงื่อนไขในการ filter rows ของ dataframe
filter(mtcars, hp <= 100) filter(mtcars, am == 0)
## เรียงข้อมูล by row ใน dataframe ของเราจากต่ำไปสูง
## หรือเขียน desc(column) เพื่อเรียงจากสูงไปต่ำ
arrange(mtcars, hp)
arrange(mtcars, desc(hp))
## mutate เพื่อสร้างคอลั่มใหม่
mutate(mtcars, hp_half = hp/2)
mutate(mtcars, wt_double = wt*2)
## summarise เพื่อสรุปผลสถิติเบื้องต้น เช่น mean, sd, min, max
summarise(mtcars, mean(hp), sd(hp), min(hp), max(hp))
เพื่อนๆสามารถ copy code ตัวอย่างด้านบนไปลองแปะใน console ของ RStudio ได้เลย ฝึกใช้ 5 verbs นี้ให้คล่อง แล้วการทำงานพื้นฐานกับ data frame จะไม่ใช่เรื่องยากอีกต่อไป
Introducing Pipe Operator
R Programmer จะมีอักขระพิเศษที่ใช้เชื่อมโค้ดของเราเข้าด้วยกัน (ชีวิตดีขึ้นเยอะถ้าใช้ pipe operator %>%) ตัวอย่างการใช้งานง่ายๆแบบนี้
mtcars %>%
select(mpg, hp, wt) %>%
filter(hp <= 100) %>%
arrange(desc(hp)) %>%
mutate(hp_2 = log(hp))
โค้ดด้านบน เราเชื่อม select %>% filter %>% arrange %>% mutate เข้าด้วยกัน R จะรันผลตั้งแต่ line บนสุดลงมาเรื่อยๆ

อ่านได้แบบนี้ เลือกสามคอลั่ม mpg, hp, wt จาก mtcars data frame แล้วก็ filter เอาเฉพาะรถยนต์ที่มี hp <= 100 แล้วก็เรียงข้อมูลจากสูงไปต่ำ (descending order) ด้วยคอลั่ม hp แล้วค่อยสร้างคอลั่มใหม่ชื่อว่า hp_2 ด้วยฟังชั่น log(hp) จบ !!
More to Learn
- 5 verbs สำคัญสำหรับ R user เพื่อทำ data manipulation คือ select, filter, arrange, mutate, summarise
- %>% (pipe operator) ใช้เพื่อเชื่อมโค้ดของเราเข้าด้วยกัน สบายขึ้นเยอะ
- อ่านเพิ่มเติมเรื่อง A Grammar of Data Manipulation (dplyr)
package dplyr ยังทำอะไรได้อีกเยอะมาก อยากเรียนมากกว่านี้ สมัครเรียนฟรี Intro to R กับเราได้ที่ https://datarockie.com
ชอบกด Like ใช่กด Share ให้เพื่อนได้อ่านด้วยนะคร้าบ