R là gì? Những lý do bạn nên bắt đầu học ngôn ngữ lập trình R
1. Tổng quan về R Trong bài này, chúng ta sẽ tìm hiểu xem tại sao ngôn ngữ lập trình R và bạn có thể dùng nó để làm gì? VÌ R là một ngôn ngữ đang rất thịnh hàng, có rất nhiều lý do để bắt đầu học R và tìm hiểu lợi ích của ngôn ngữ này. Chúng ta sẽ tìm hiểu từ việc R là gì, cho đến vai trò của nó ...
1. Tổng quan về R
Trong bài này, chúng ta sẽ tìm hiểu xem tại sao ngôn ngữ lập trình R và bạn có thể dùng nó để làm gì? VÌ R là một ngôn ngữ đang rất thịnh hàng, có rất nhiều lý do để bắt đầu học R và tìm hiểu lợi ích của ngôn ngữ này. Chúng ta sẽ tìm hiểu từ việc R là gì, cho đến vai trò của nó trong khoa học dữ liệu và kinh doanh. Chúng ta cũng sẽ tìm hiểu những điểm khác biệt và giới hạn của ngôn ngữ R trong bài này. Nhưng trước hết, cùng tìm hiểu xem R là gì?
2. R là gì?
R là một công cụ rất mạnh cho học máy, thống kê và phân tích dữ liệu. Nó là một ngôn ngữ lập trình. Nhờ việc sử dụng R chúng ta có thể tạo ra các objects, function và các package. Ngôn ngữ R là một platform-independent do đó chúng ta có thể sử dụng nó cho bất kỳ hệ điều hành nào. Việc cài đặt R cũng miễn phì vì chúng ta có thể sử dụng mà không cần phải mua bản quyền.
Tất cả là nhờ R là một open source. Điều đó có nghĩa ai trong chúng ta cũng có thể phân tích source code để hiểu được chính xác cách R vận hành. Bất kỳ ai cũng có thể thêm tính năng và fix bug mà không cần chờ bất kỳ nhờ phát hành nào ra bản vá. Do đó, R có thể tích hợp được với ngôn ngữ khác (C,C++). Nó cũng cho phép chúng ta tương tác với nhiều nguồn dữ liệu và các gói thống kê (SAS, SPSS). R có một cộng đồng phát triển mạnh mẽ. Giờ đây chúng ta sẽ cùng tìm hiểu về R, để hiểu "How powerfull is R" và lý do bạn cần học ngôn ngữ này.
3. Ngôn ngữ R có gì lợi hại?
Hãy cùng xem tại sao ngôn ngữ R lại cần thiết như vậy. For data-driven business, data science talent shortage is a very big problem. Companies are using R programming as their platform and recruit trained users of R.
3.1 Tại sao R lại mạnh mẽ cho việc phân tích dữ liệu
- Bạn có thể chạy code mà không cần đến bất cứ compiler nào - R là ngôn ngữ thông dịch ( interpreted language ). Do đó code có thể chạy mà không cần compiler. R thông dịch code và làm cho việc viết code đơn giản hơn, dễ phát triển hơn.
- Bất một phép tính nào cũng có thể thực hiện trên vectors - R là một vector-language, do đó chúng ta có thể dùng bất kỳ function nào trên một vector mà không cần phải dùng vòng lặp. Ví dụ: bạn có một mảng và phải tăng mỗi phần tử lên +1. Nếu không sử dụng vector, bạn sẽ cần lặp qua tất cả phần tử và cần n phép +1 cho n phần tử. Nếu bạn lưu mảng đó vào vector thì chỉ cần 1 phép +1 là xong.
- Đây là Statistical-Language - R được dùng trong sinh học, di truyền học và thống kê dữ liệu. R là ngôn ngữ turning-complete có nghĩa nó có thể hoàn thành bất kỳ thuật toán nào.
3.2 Tại sao R được dùng nhiều trong kinh doanh
-
Lý do quan trọng nhất - R là một open-source, nên nó cực kỳ "kinh tế". Đồng thời R rất phù hợp cho việc mô phỏng dữ liệu qua bảng biểu. Nhờ một cộng đồng phát triển và hơn 15000+ packages trong mọi lĩnh vực nghiên cứu. Hiện tại, khó có một công cụ nào có thể theo kịp R.
-
Trong việc nghiên cứu dữ liệu, việc khan hiếm nhân tài là một vấn đề rất lớn. Các công ty có thể dùng ngôn ngữ R để làm nền tảng và training nhân viên sử dụng nó.
4. Khía cạnh thống kê của R
Có rất nhiều điều mà dân "thống kê" sẽ quan tâm về ngôn ngữ R:
4.1 Một số điểm nổi bật của R
- Nó là một open-source và hiển nhiên miễn phí hoàn toàn.
- R có một kho package phong phú và rất mạnh mẽ, cùng một cộng đồng người dùng vô cùng lớn mạnh.
4.2 Một vài tính năng thông kê
- Basic Statistics – Mean, variance, median.
- Static graphics – Basic plots, graphic maps.
- Probability distributions – Beta, Binomial.
5. Khía cạnh lập trình của R
Về lập trình, R cũng có một vài điểm quan trọng như:
5.1 Một điều nổi bật
- Data inputs - data type, importing data, keyboard typing.
- Data Management - data variables, operators.
5.2 Một vài tính năng lập trình
- Tính toán phân tán (Distributed-Computing) - Distributed computing là một open source, hiệu năng cao cho ngôn ngữ R. Nó chia công việc thành nhiều task nhỏ cho nhiều node để chạy đồng thời, nhờ đó giảm thời gian để chạy phân tích một tập dữ liệu lớn.
- R packages – là một tập các R functions, compiled code và dữ liệu mẫu.
6. Ưu và nhược điểm của R
6.1 Ưu điểm của ngôn ngữ R
- R có những package thống kê toàn diện nhất với công nghệ mới nhất, những ý tưởng mới thường xuất hiện đầu tiên trên R.
- R là open-source nên bất kỳ ai cũng có thể sử dụng và cải tiến nó.
- Vì là open-source nên R có thế được dùng mọi lúc mọi nơi cho bất cứ việc gì, kể cả bán các sản phẩm từ R theo điều kiện của giấy phép.
- R có thể chạy trên bất kỳ hệ điều hành nào.
- Bất kỳ ai cũng được hỗ trợ để đưa ra ý tưởng phát triển, fix bug, phát triển package mới.
6.2 Hạn chế của ngôn ngữ R
- Một vài package của R có thể không hoàn hảo và còn lỗi
- Không có ai để "complain" cho việc code không chạy
- R có thể chiếm dụng hết "available memory".
7 Kết luận
Trong bài viết trên, chúng ta đã xem xét các khía cạnh hứa hẹn của R và những lợi ích từ việc sử dụng nó. Tất nhiên tùy vào mục đích của người dùng mà chúng ta vận dụng sao cho phù hợp dựa trên pros và cons của nó.
Nếu bạn là một người quan tâm và muốn tìm hiểu sâu hơn về R thì bài viết có thể chưa thỏa mãn bạn. Vậy tại sao không thử sức mình bằng việc bắt đầu với List of Best Book for R, hy vọng bạn thích nó.
Reference:
- Why R