7 Reasons You Should Learn R Today

เพื่อนๆหลายคนที่เพิ่งเริ่มศึกษา data science และการเขียนโปรแกรมเพื่อวิเคราะห์ข้อมูล หลังไมค์มาถามแอดเยอะมาก โดยคำถามส่วนใหญ่ที่ถามมาคือ

  • ทำไมต้องเรียน R?
  • เรียนไปแล้ว ใช้ทำอะไรได้บ้าง?
  • ข้อดี ข้อเสียต่างๆเมื่อเทียบกับ Python เป็นอย่างไร?

เราตอบทุกคำถามที่ได้รับในบทความวันนี้ อ่านจบหวังว่าเพื่อนๆทุกคนจะสนใจอยากเริ่มเขียน R กันเยอะขึ้น เพราะมันคือหนึ่งในภาษาที่ทรงพลังที่สุดสำหรับงาน data science ในยุคนี้


Best for Statistics

ROSS
Ross Ihaka (คนซ้าย) และ Robert Gentleman (คนกลาง) สองผู้พัฒนาภาษา R ในยุคแรก

R ถูกพัฒนาโดย Ross Ihaka และ Robert Gentleman ในปี 1993 ทั้งสองเป็นอาจารย์สอนวิชาสถิติที่ University of Auckland ประเทศนิวซีแลนด์ ภาษา R ได้รับการพัฒนาอย่างต่อเนื่องตลอด 25 ปีที่ผ่านมาจนก้าวขึ้นมาเป็นภาษา top 3 ของโลกสำหรับงาน data science

functions ง่ายๆสำหรับการสรุปผลสถิติใน R เช่น

  • mean, median, min, max, sum สำหรับหาค่าเฉลี่ย ค่าน้อยสุด มากสุด ผลรวม
  • sd, var สำหรับหา standard deviation และ variance
  • cor, lm, glm สำหรับหาค่า correlation, linear และ logistic regression ตามลำดับ

ตัวอย่างการสร้างโมเดลง่ายๆใน R พิมพ์โค้ดแค่ line เดียวก็ได้แล้ว สุดยอดอะไรเบอร์นี้

# linear regression
lm_model <- lm(mpg ~ ., data = mtcars)

# logistic regression
logit_model <- glm(y ~ ., data = dataframe, family = "binomial")

อธิบาย เราเพิ่งสร้างโมเดลขึ้นมาสองโมเดลชื่อว่า lm_model และ logit_model ส่วนอะไรก็ตามที่อยู่หลังเครื่องหมาย # คือ comment เฉยๆ


Best IDE for Data Science

RStudio คือ IDE หรือภาษาบ้านๆคือโปรแกรม advanced text editor ที่ใช้เขียนภาษา R ที่ดีที่สุดในโลกและมันเกิดขึ้นมาสำหรับงาน data science โดยเฉพาะ

ล่าสุดเวอร์ชั่น 1.2 เราสามารถต่อ RStudio เข้ากับ database และเขียน instant query ผ่าน RStudio ได้เลย SELECT * FROM albums; ชีวิตดีขึ้นเยอะเมื่อมีฟีเจอร์นี้

2018-10-02-rstudio-preview-sql-template
Source: https://blog.rstudio.com/2018/10/02/rstudio-1-2-preview-sql/

RStudio ได้รับการพัฒนาอย่างต่อเนื่อง นำทีมโดย data scientist ตำนานของสาย R อย่าง Hadley Wickham Chief Scientist ของ RStudio


Born with DataFrame Capability

R เกิดมาพร้อมกับความสามารถในการวิเคราะห์ DataFrame ซึ่งเป็นหัวใจของการทำงาน data analysis ขั้นพื้นฐาน แค่เปิด RStudio ขึ้นมา ไม่ต้องโหลด package อะไรให้ยุ่งยากก็เริ่มวิเคราะห์ข้อมูลได้เลย ตัวอย่างเช่น code 2 lines ด้านล่าง

# read dataframe into R
mtcars <- read.csv("mtcars.csv")
summary(mtcars)

เราใช้ฟังชั่น read.csv() เพื่อโหลดไฟล์ csv เข้าสู่ RStudio และฟังชั่น summary() สำหรับการสรุปผลสถิติเบื้องต้นของ DataFrame ได้ผลแบบนี้

capture1.png

เรายังสามารถทำอะไรกับ DataFrame ได้อีกเยอะมาก ไม่ว่าจะสร้างโมเดลสถิติ ไปจนถึงการทำ machine learning หรือใช้ deep learning framework อย่าง keras


Similar to Excel

การเขียนฟังชั่นใน R เหมือนการเขียนฟังชั่น/สูตรใน Excel มาก จำนวนฟังชั่นทั้งหมดที่มีใน R ณ วันที่ 17 ตุลาคม 2018 ที่เรากำลังเขียนบทความนี้อยู่คือ 2,300,103 functions ครอบคลุมงานสถิติและ data science มากถึง 99.99% ภาษาเดียวครอบจักรวาลไปเลย

แค่เรารู้ว่าชื่อฟังชั่นคืออะไร? ต้องใส่ input ยังไง? หน้าตา output ออกมาเป็นอะไร? ก็เขียน R เป็นแล้ว! ใน R ไม่มีคำว่า “เป็นไปไม่ได้” (Impossible) มีแต่คำว่า “เราจะทำมันได้ยังไง” (How)


World Class Visualization Package

หนึ่งใน package ระดับตำนานของ R language คือ ggplot2 พัฒนาโดย Hadley Wickham และทีมงาน RStudio สามารถทำกราฟแบบ 2D ได้เกือบทุกแบบ

ดาวน์โหลด cheat sheet template การเขียนโค้ด ggplot2 ได้ที่นี่

Rplot02
ตัวอย่าง scatter plot + smooth curve ด้วย ggplot2

gg ในชื่อ ggplot2 ย่อมาจากคำว่า “Grammar of Graphics” ซึ่งเป็นหลักการสำคัญของการทำ visualization ทุกวันนี้เลย


High Demand for R Users

อันนี้สั้นๆ เขียน R เป็นไม่ต้องกลัวตกงาน (อย่างน้อยไปอีก 5-10 ปี จนกว่า AI จะมา disrupt) เงินเดือนเฉลี่ยต่อปีของ R programmer ที่ประเทศอเมริกา อ้างอิงจากเว็บไซต์ indeed (2018)

  • data scientist – $132,548 USD
  • software development – $71,057 USD
  • data analyst – $64,027 USD

นอกจากได้ทำงานที่ชอบ ยังได้เงินเดือนโอเครอีกด้วย ตอนนี้ในประเทศไทยก็กำลังเป็นที่ต้องการสูงมาก 😛


R is Free!

และเหตุผลสำคัญที่สุดที่เราควรเริ่มเขียน R วันนี้คือเราสามารถดาวน์โหลด R และ RStudio มาใช้งานได้ฟรี (open source) ไม่ต้องเสียเงินซักบาท และมีแหล่งเรียนรู้แบบออนไลน์เยอะมาก ไม่ว่าจะเป็น coursera, edx หรือ datacamp

So why not try it today?

สำหรับเพื่อนๆที่สนใจอยากเริ่มเขียน R โรงเรียนออนไลน์ของเพจเรามีสอนเหมือนกัน วีดีโอ full HD ความยาวมากกว่าสองชั่วโมง สมัครเรียนฟรีที่ https://datarockie.com

แล้วพบกันในคอร์สนะครับ


Appendix

1-XqY5dUeOPSxI4w4yWBFrZA
ขอบคุณรูปภาพจาก medium R vs. Python (2015)

R vs. Python สองภาษานี้ถูกสร้างมาจาก paradigm ที่ต่างกัน | R ถูกสร้างและพัฒนาโดยนักสถิติ ส่วน Python โดยนักวิทยาศาสตร์คอมพิวเตอร์ ทั้งสองภาษาเป็น high level programming language ทั้งคู่แปลว่าเรียนรู้ง่าย เขียนแป๊ปเดียวก็ทำได้แล้ว

ข้อดีของ R จากประสบการณ์ส่วนตัว คือ

  • เขียนง่าย ใช้งานได้ทันทีโดยไม่ต้องโหลด package เพิ่มเลย
  • ทำงานกับ dataframe ได้ดีมาก (สูสีกับ pandas ของ Python)
  • เหมาะมากกับงานสถิติ (เก่งกว่า Python) ไปจนถึงการสร้าง machine learning (สูสีกับ Python)
  • ฟังชั่นเยอะมาก ครอบคลุมแทบจะทุกสายงาน

ส่วนข้อเสียของ R เมื่อเทียบกับ Python คือ

  • การแสดงผลภาษาไทยยังไม่ดีเท่าไหร่ งาน NLP (natural language processing) ภาษาไทยส่วนใหญ่เลยไปทำกันใน Python
  • การทำงานกับ matrix หรือ array ตอนนี้ยังสู้ NumPy ของ Python ไม่ได้
  • deep learning framework มีให้เลือกใช้น้อยกว่า Python และนี่เป็นอีกหนึ่งสาเหตุที่คนหันมาใช้ Python กันเยอะมากเลย (deep learning มันป๊อปมากๆช่วงนี้)
  • ตอนนี้คนยังไม่นิยมใช้ R ทำ deployment เท่าไหร่ ตรงนี้ Python จะเหนือกว่าอย่างเห็นได้ชัด

สุดท้ายเราสรุปสั้นๆตรงนี้ – จะเริ่มเรียนภาษาอะไรก่อนก็ได้ เอาทางที่ตัวเองถนัดเลย พอเขียนภาษาแรกได้แล้ว ภาษาต่อๆไปก็จะง่ายขึ้นเอง เพราะหลักการมันไม่ต่างกันเท่าไร object oriented + high level ทั้ง R และ Python เลย

One thought on “7 Reasons You Should Learn R Today

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s