Giới thiệu về R

1. R là gì?

R là một ngôn ngữ lập trình và môi trường tính toán thống kê mạnh mẽ, được sử dụng rộng rãi trong khoa học dữ liệu, phân tích thống kê và mô hình thống kê được tạo ra bởi 2 nhà khoa học thống kê Ross Ihaka và Robert Gentleman (1993).

Ưu điểm của R:

  • Miễn phí và mã nguồn mở.
  • Hỗ trợ nhiều thư viện và gói mở rộng cho phân tích dữ liệu, trực quan hóa và học máy.
  • Có thể kết hợp với các ngôn ngữ khác như Python, C++, SQL.

2. RStudio là gì?

RStudio là một môi trường phát triển tích hợp (IDE) dành cho R, giúp lập trình dễ dàng hơn.

3. Các thành phần chính của RStudio:

  1. Source Editor: Viết và chỉnh sửa mã R.
  2. Console: Thực thi mã R.
  3. Environment/History: Quản lý biến và lịch sử lệnh.
  4. Plots/Packages/Help: Hiển thị đồ thị, quản lý gói và tài liệu hướng dẫn.

4. Các phần mềm cần thiết để sử dụng RStudio

Để sử dụng RStudio hiệu quả, bạn cần cài đặt các phần mềm sau:

  1. R: Đây là nền tảng chính để chạy các câu lệnh và thuật toán thống kê. Bạn có thể tải về từ trang chủ: https://cran.r-project.org.
  2. RStudio: Là môi trường phát triển tích hợp (IDE) giúp làm việc với R dễ dàng hơn. Tải về tại: https://posit.co/download/rstudio-desktop/.
  3. Các gói mở rộng (Packages): Tùy thuộc vào nhu cầu sử dụng, bạn có thể cài đặt các gói hỗ trợ như tidyverse, ggplot2, caret để phân tích dữ liệu và trực quan hóa.

5. Nguyên tắc hoạt động của R

R hoạt động dựa trên các nguyên tắc sau:

  • Tính toán dựa trên vector: R có khả năng xử lý dữ liệu dưới dạng vector mà không cần sử dụng vòng lặp.
  • Hàm là đối tượng bậc nhất: Trong R, hàm có thể được gán vào biến, truyền làm tham số hoặc trả về từ các hàm khác.
  • Hỗ trợ lập trình thủ tục và hàm: Có thể lập trình theo hướng cấu trúc (procedural) hoặc lập trình hàm (functional).
  • Môi trường làm việc linh hoạt: Cho phép nhập, xử lý và lưu dữ liệu dưới nhiều định dạng khác nhau.

Sử dụng cơ bản trong R

1. Cài đặt và sử dụng package

library(ggplot2)  

2. Nhập và xem dữ liệu

data <- mtcars  # Dữ liệu mẫu mtcars
head(data)  # Xem 6 dòng đầu tiên
##                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
## Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
summary(data)  # Thống kê tổng quan
##       mpg             cyl             disp             hp       
##  Min.   :10.40   Min.   :4.000   Min.   : 71.1   Min.   : 52.0  
##  1st Qu.:15.43   1st Qu.:4.000   1st Qu.:120.8   1st Qu.: 96.5  
##  Median :19.20   Median :6.000   Median :196.3   Median :123.0  
##  Mean   :20.09   Mean   :6.188   Mean   :230.7   Mean   :146.7  
##  3rd Qu.:22.80   3rd Qu.:8.000   3rd Qu.:326.0   3rd Qu.:180.0  
##  Max.   :33.90   Max.   :8.000   Max.   :472.0   Max.   :335.0  
##       drat             wt             qsec             vs        
##  Min.   :2.760   Min.   :1.513   Min.   :14.50   Min.   :0.0000  
##  1st Qu.:3.080   1st Qu.:2.581   1st Qu.:16.89   1st Qu.:0.0000  
##  Median :3.695   Median :3.325   Median :17.71   Median :0.0000  
##  Mean   :3.597   Mean   :3.217   Mean   :17.85   Mean   :0.4375  
##  3rd Qu.:3.920   3rd Qu.:3.610   3rd Qu.:18.90   3rd Qu.:1.0000  
##  Max.   :4.930   Max.   :5.424   Max.   :22.90   Max.   :1.0000  
##        am              gear            carb      
##  Min.   :0.0000   Min.   :3.000   Min.   :1.000  
##  1st Qu.:0.0000   1st Qu.:3.000   1st Qu.:2.000  
##  Median :0.0000   Median :4.000   Median :2.000  
##  Mean   :0.4062   Mean   :3.688   Mean   :2.812  
##  3rd Qu.:1.0000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :1.0000   Max.   :5.000   Max.   :8.000

3. Vẽ biểu đồ trong R

ggplot(data, aes(x = mpg, y = hp)) + 
  geom_point(color = "blue") + 
  labs(title = "Mối quan hệ giữa MPG và HP")

4. Chạy mô hình hồi quy tuyến tính

model <- lm(mpg ~ hp + wt, data = data)
summary(model)  # Kết quả hồi quy
## 
## Call:
## lm(formula = mpg ~ hp + wt, data = data)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -3.941 -1.600 -0.182  1.050  5.854 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 37.22727    1.59879  23.285  < 2e-16 ***
## hp          -0.03177    0.00903  -3.519  0.00145 ** 
## wt          -3.87783    0.63273  -6.129 1.12e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.593 on 29 degrees of freedom
## Multiple R-squared:  0.8268, Adjusted R-squared:  0.8148 
## F-statistic: 69.21 on 2 and 29 DF,  p-value: 9.109e-12

Kết luận

R và RStudio là công cụ mạnh mẽ giúp xử lý dữ liệu, xây dựng mô hình và trực quan hóa một cách dễ dàng. Việc sử dụng R trong phân tích dữ liệu ngày càng trở nên phổ biến nhờ khả năng mở rộng và cộng đồng hỗ trợ mạnh mẽ.

```