Lộ trình học R dành cho người mới bắt đầu

BA TRƯỜNG PHÁI TRONG VIỆC HỌC R

Xin chào Bạn,

Nếu Bạn đang bắt đầu hành trình học R và muốn biết về cách học R như thế nào cho hiệu quả, thì đây chính là bài viết dành riêng cho Bạn. Nội dung bài viết này kế thừa từ phần Các câu hỏi thường gặp mình có chia sẻ sơ lược về R. 

Chúng ta sẽ không mất thời gian quay trở lại những câu hỏi căn bản như: Tại sao nên học R hay nên học Python? Vì có rất nhiều video do chuyên gia data science họ trình bày rồi. Các bạn xem ở đây nhé: R vs Python. Câu trả lời là tùy vào nhu cầu của Bạn, vì R là ngôn ngữ lập trình được thiết kế để chuyên dành cho xử lý thống kê và vẽ đồ thị sau đó mở rộng ra các chức năng như xử lý văn bản, hình ảnh, tin sinh học, machine learning với hệ sinh thái package và người dùng là các chuyên gia đa lĩnh vực. Còn Python là ngôn ngữ lập trình đa chức năng và có nhiều package chuyên hỗ trợ mảng xử lý thống kê và trực quan hóa đồ thị. 

Nếu Bạn học R trước (ví dụ như mình) thì sau khi học xong R thật vững, Bạn nên học tiếp Python để mở rộng skill data science, và ngược lại nếu Bạn đã biết Python thì nên học R để mở rộng kỹ năng statistics và data visualization qua các gói package mạnh mẽ do R cung cấp. 

Ở bài viết này, nội dung chính sẽ trả lời câu hỏi: Nếu học R thì nên học theo lộ trình như nào thì hiệu quả?

Câu hỏi này không dễ trả lời nếu chúng ta không chia nhỏ ra thành những câu hỏi đơn giản hơn như sau:

OK, giờ mình đi vào trọng tâm nhé.

Thứ nhất, cần phân biệt thuật ngữ khi các bạn đọc title các khóa học hay sách/ebook hướng dẫn R vì mỗi cuốn sách hay khóa training R khác nhau đều có những điểm nhấn và mục tiêu hoàn toàn khác nhau, dù nghe phớt qua thì các bạn cũng thấy có dính dáng ít nhiều đến R nhưng thật ra không phải vậy.

Chúng ta phân tích kỹ:

Trường phái 1: Nếu title nào ghi là Introduction to base R (ví dụ manual từ R core team) hay Hướng dẫn sử dụng base R để xử lý dữ liệu (ví dụ khóa học mình cung cấp) hoặc R for dummies (ebook) thì trọng tâm là hướng dẫn kỹ các lệnh căn bản trong R, cơ chế hoạt động của phần mềm/ngôn ngữ R để người học hiểu rõ từ đó xây dựng function và gọi các lệnh xử lý thống kê, vẽ đồ thị cho đúng cách, bài bản. 

Trường phái 2: Nếu Bạn học cuốn R for Data science (cũng được xếp vào như là cẩm nang cho R beginner) thì hết sức lưu ý là: tác giả cuốn này là Hadley Wickham (vốn là tác giả package nổi tiếng ggplot2 và bộ tidyverse, cũng là thành viên R core team và RStudio) khi viết cuốn này là tiếp cận từ trên triết lý coding R theo phong cách dấu pipe %>% (as then) để làm đoạn code trở nên thuận hơn khi lập trình. Anh ấy hướng dẫn học viên đi từ chapter 1 là về cách vẽ đồ thị trước (trên ggplot2 chứ không phải trên base-R graphic là kiểu vẽ đồ thị căn bản R), sau đó mới quy nạp về các lệnh cơ bản trong R. 

Do đó, nếu Bạn chưa có căn bản về R thì khi đọc cuốn R for Data Science thì sẽ rất bối rối, vì bản chất sự phát triển các package trong bộ tidyverse là để mở rộng các lệnh căn bản R theo triết lý "trực quan/ngắn gọn" hơn so với các lệnh căn bản trong base R. Tuy nhiên, Bạn cần hiểu base R trước, thì khi đọc cuốn R for Data science này bạn mới lĩnh hội hết thông điệp, kiến thức mà tác giả muốn truyền đạt.

Trường phái 3: Nếu Bạn chưa từng biết về R nhưng tham gia các khóa học trainning/workshop chuyên đề xử lý thống kê sử dụng R, trực quan hóa đồ thị sử dụng R, ... thì thông thường các khóa này được trình bày có điểm nhấn vào cách xử lý dữ liệu (sử dụng model thống kê, package đi kèm) để xử lý trên dataset case study là chính, nhằm giúp học viên hiểu cách xử lý dữ liệu. Còn việc đi sâu vào các lệnh căn bản trong R hay cách thức phần mềm R hoạt động ra sao thì các khóa này thường đi lướt qua (vì bị giới hạn về thời gian và chương trình chẳng hạn), nên sau khi học xong thì học viên rất khó ứng dụng R bởi vì chưa học kỹ nền tảng về R thì không áp dụng được các chức năng nâng cao.

Tóm lại, Bạn cần phải nắm rất chắc là R hay các môn học khác thì đều cần đi từ gốc lên thì sau mới học có hiệu quả, nếu không thì thời gian và công sức của cả người training (dù theo trường phái 1, 2, hay 3 đều là những vị nắm rất chắc R từ gốc) và của học viên đều lãng phí vì không đưa R vào được thực tế công việc của cá nhân người học. Do đó để [trả lời câu hỏi 1] là nếu Bạn chưa có kiến thức lập trình (dân ngoài ngành IT) thì nên tham gia khóa học R căn bản trước, rồi hãy nên học sâu vào các chuyên đề ứng dụng R, như vậy sẽ rút ngắn thời gian và có hiệu quả cao.

Thứ hai, việc Bạn đang là team leader một nhóm nghiên cứu hay là học viên cao học đang tìm học R để làm đồ án, hoặc muốn phát triển sự nghiệp ở mảng data science thì ngoài khóa học R này Bạn cần tiếp tục nâng cao ở các chương trình trainning dài hạn có chứng chỉ để đủ kiến thức và kỹ năng tham gia vào cộng đồng data science đang sôi động hiện nay. Tất cả tùy vào mức độ Bạn hạ quyết tâm ra sao khi master R skills. 

Khi Bạn học với mình, thì mình đặt ra giả thuyết là Bạn muốn nắm vững R để làm cơ sở thăng tiến trong công việc nên mình hướng dẫn các bạn rất kỹ qua trên 70 video làm rõ mọi khía cạnh trong R, và định kỳ mình họp online với các học viên khi các bạn có thắc mắc cần trao đổi trực tiếp. Vì vậy, ở [câu thứ 2] thì mình chia sẻ là nếu Bạn đã học R thì nên học tới nơi, tới đỉnh luôn nhé. Vì kết quả sau cùng Bạn nhận được sau khi nắm vững R thì rất xứng đáng với công sức Bạn bỏ ra!!

Bạn có thể tham khảo thêm link này https://education.rstudio.com/learn/ về lộ trình học R từ căn bản đến nâng cao. 

Chào mừng Bạn tham gia hành trình trang bị kỹ năng R - Kỹ năng của thế kỷ 21 digital world.