Trong quá trình phân tích dữ liệu thực tế, chúng ta sẽ thường phải phân tích mối quan hệ giữa các biến liên tục (numeric variables). Để làm được điều đó, chúng ta có thể sử dụng hệ số tương quan (correlation).

Trong bài viết này, mình sẽ hướng dẫn các bạn cách tính toán hệ số tương quan (correlation), cũng như cách vẽ biểu đồ tương quan (correlogram) trong R.

Chúng ta sẽ sử dụng dữ liệu iris có sẵn trong R.

##   Sepal.Length    Sepal.Width     Petal.Length    Petal.Width   
##  Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100  
##  1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300  
##  Median :5.800   Median :3.000   Median :4.350   Median :1.300  
##  Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199  
##  3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800  
##  Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500  
##        Species  
##  setosa    :50  
##  versicolor:50  
##  virginica :50  
##                 
##                 
## 

1 Calculate correlation

Để tính toán hệ số tương quan (correlation), chúng ta có thể sử dụng câu lệnh cor(). Lưu ý, với câu lệnh này dữ liệu đầu vào chỉ lấy những biến liên tục (numeric variables).

Sepal.Length Sepal.Width Petal.Length Petal.Width
Sepal.Length 1.0 -0.1 0.9 0.8
Sepal.Width -0.1 1.0 -0.4 -0.4
Petal.Length 0.9 -0.4 1.0 1.0
Petal.Width 0.8 -0.4 1.0 1.0

2 Correlogram

Để vẽ biểu đồ tương quan (correlogram), chúng ta có thể sử dụng câu lệnh ggcorrplot() trong package ggcorrplot.

Nhìn vào correlogram trên, chúng ta có thể kết luận:

  • Petal.Length & Petal.Width có mối quan hệ tuyến tính cùng chiều hoàn hảo (correlation = 1).

  • Sepal.Length có mối quan hệ tuyến tính cùng chiều chặt với Petal.Length, Petal.Width (correlation lần lượt là 0.9, 0.8).

  • Sepal.Width có mối quan hệ tuyến tính ngược chiều không chặt với 3 biến còn lại.

3 Scatter plot

Ngoài ra, chúng ta có thể sử dụng biểu đồ điểm để trực quan hóa mối quan hệ giữa các biến số (numeric variables). Ví dụ, chúng ta muốn xem mối quan hệ giữa biến Sepal.Length với 3 biến số còn lại.

Như vậy, chúng ta đã vừa được học cách phân tích mối quan hệ giữa các biến số (numeric variables) trong R. Chúc các bạn học tập và làm việc hiệu quả!