คำถามนึงที่เกิดขึ้นในเรื่องของภาษาที่ใช้ทำ Data และคงเป็นคำถามของใครหลายๆคนนั่นคือ ระหว่างภาษา R และ ภาษา Python นั้นมีความแตกต่างกันอย่างไร และอันไหนดีกว่ากัน วันนี้ทีมงาน Thai-Data.com จะพาเพื่อนๆ มาดูความแตกต่างกันระหว่าง 2 ภาษายอดฮิตนี้กันครับ

ทั้ง R และ Python เป็น open source ยอดฮิตในโลกของ Data ครับ ทั้งคู่ต่างมี community ของนักพัฒนาที่ใหญ่มากซึ่งส่งผลให้เวลาแก้ code หรือพบปัญหา เราสามารถค้นเจอคนที่เจอปัญหาเดียวกันเราง่ายมากๆ โดยส่วนตัวผมคิดว่า R นั้นถูกออกแบบมาเพื่อทำงานทางด้าน Statistical และ Data analysis โดยตรง ในขณะที่ Python นั้นถูกออกแบบมาให้ใช้งานได้กว้างกว่ามากๆ
ทั้ง 2 ภาษานั้นมี Package ให้เราโหลดมาเลือกใช้มากมาย โดย R นั้นมี package ให้เลือกใช้กว่า 12,000 packages ซึ่งไม่ว่าเพื่อนๆต้องการคำนวนแบบไหนยังไง หากลองหาใน package ของ R ก็น่าจะมีนักพัฒนาเขียนวิธีการคำนวนเหล่านั้นออกมาและแชร์ในระบบ Package เป็นที่เรียบร้อยแล้ว ในขณะที่ Python นั้น ด้วยความที่เป็นภาษาที่ทำได้แทบจะทุกอย่างในโลกของ Programming ปัจจุบัน ตอนนี้มีนักพัฒนามากมายทำ libraries ที่ช่วยในการทำ Data มากขึ้นมาก ซึ่งในแง่ของการทำ data นั้น libraries ที่มีอยู่ใน Python ตอนนี้ก็เพียงพอที่จะสามารถทำงานได้เป็นอย่างดีแล้ว
ดังนั้นหากมองในแง่ของมุมมองของการทำ Data Analysis ภาษา R จะสามารถทำงานได้ดีกว่า แต่หากมองในมุมมองของการฝึกเขียนหรือสร้างระบบที่ไม่ได้มีการคำนวนแบบเฉพาะเจาะจงมากนัก Python น่าจะเป็นทางเลือกที่ดี

ตารางสรุปที่ผมเจอมาจากเว็ปนึง ซึ่งแสดงให้เห็นถึงความแตกต่างระหว่าง 2 ภาษานี้อย่างชัดเจน
Parameter | R | Python |
---|---|---|
Objective | Data analysis and statistics | Deployment and production |
Primary Users | Scholar and R&D | Programmers and developers |
Flexibility | Easy to use available library | Easy to construct new models from scratch. I.e., matrix computation and optimization |
Learning curve | Difficult at the beginning | Linear and smooth |
Popularity of Programming Language. Percentage change | 4.23% in 2018 | 21.69% in 2018 |
Average Salary | $99.000 | $100.000 |
Integration | Run locally | Well-integrated with app |
Task | Easy to get primary results | Good to deploy algorithm |
Database size | Handle huge size | Handle huge size |
IDE | Rstudio | Spyder, Ipthon Notebook |
Important Packages and library | tydiverse, ggplot2, caret, zoo | pandas, scipy, scikit-learn, TensorFlow, caret |
Disadvantages | Slow High Learning curve Dependencies between library | Not as many libraries as R |
Advantages | Graphs are made to talk. R makes it beautifulLarge catalog for data analysisGitHub interfaceRMarkdownShiny | Jupyter notebook: Notebooks help to share data with colleaguesMathematical computationDeploymentCode ReadabilitySpeedFunction in Python |
โดยสรุป R กับ Python ต่างกันอย่างไรนั้น หากเพื่อนๆกำลังเลือกอยู่ว่าจะลองเรียน R หรือ Python คงมีข้อความพิจารณาดังนี้
– จุดมุ่งหมายของงานที่กำลังจะทำ : คำนวนด้าน statistical/data science โดยเฉพาะ หรือทำระบบ
– เวลาที่มีในการเรียนรู้ ซึ่งข้อนี้หากมีพื้นฐานเก่าจากภาษาใดอยู่แล้ว ก็ไม่น่าจะเลือกยาก
– งานในอนาคต
อ้างอิง : Guru99.com