01. What is data transformation

Untitled

<aside> 💡 What is data transformation → คือการเปลี่ยน original data ให้อยู่ใน formatที่เราต้องการ

</aside>

Untitled

Untitled

02 - Read CSV Files

🌵 IMDB dataset สำหรับบทเรียนนี้

imdb .zip

<aside> 💡 Note - ในวีดีโอนี้ ตอนอ่านไฟล์ csv แอดใช้ฟังก์ชัน read.csv() ซึ่งเป็น based R function นะครับ ถ้าใครอยากใช้ฟังก์ชันที่ใหม่กว่าอย่าง read_csv() ต้องโหลด library readr ก่อนนะครับ

library(readr)

read_csv("filename.csv")

</aside>

Untitled

03 - Select Columns

Pipe Operator

dplyr มาพร้อมกับ pipe operator %>% ที่ใช้ในการเขียน pipeline (ตามชื่อของมันเลย) ตัวอย่าง code ด้านล่างทั้งสองแบบได้ผลลัพธ์เหมือนกัน

# load dplyr
library(dplyr)

# select columns
select(mtcars, mpg, wt, hp)
mtcars %>% select(mpg, wt, hp)

🌵 ข้อดีของการเขียน %>% คือเราสามารถเชื่อมฟังก์ชันของเราได้หลาย steps เช่น

df %>% select() %>% filter() %>% mutate() %>% arrange()

## selectcolumns
select(imdb, MOVIE_NAME, RATTING)
select(imdb,1,5)           ## select by position

select(imdb,movie_name = MOVIE_NAME,released_year = YEAR ) ## สามารถเปลี่ยนชื่อcolumnได้

## pipe operator
imdb %>%
   select(movie_name = MOVIE_NAME, released_year = YEAR ) %>%
   head(10)

04 - Filter Data Part I

## filter data
filter(imdb,SCORE >= 9.0)    ##  สองไลน์นี้ได้ out put เหมือนกัน

imbd %>% filter(SCORE >= 9.0)   ##  

name(imdb) <- tolower(names(imdb))

imdb %>%
  select(movie_name,year,score) %>%   
  filter(score >= 9 & year > 2000 )   ## ใช้เครื่องหมาย **&** เพื่อเชื่อม **and** condition

imdb %>% 
  select(movie_name,lenge,score) %>%
  filter(score == 8.8 | score == 8.3 | score == 9.0) ## ใช้เครื่องหมาย **|** เพื่อเชื่อม **or** condition

imdb %>%
  select(movie_name,lenge,score) %>%
  filter(score %in% c(8.3,8.8,9.0))  ## in operator ช่วยให้เขียนโค้ดได้สั้นลง