THÀNH VIÊN NHÓM

  1. Phạm Thu Phương - 2121013716

  2. Huỳnh Thị Thùy Dương - 2121011692

  3. Lưu Thị Kim Hạnh - 2121011603

  4. Nguyễn Cẩm Nguyên - 2121006565

  5. Huỳnh Trọng Phúc - 2121001545

  6. Bùi Khắc Thông - 2121012201

Bộ dữ liệu nhóm chúng em lấy để làm cho bài tập nhóm là data về Tỉ lệ sinh sản ở 47 tỉnh khác nhau

library("Hmisc")
data("swiss")
head(swiss, 6)
##              Fertility Agriculture Examination Education Catholic
## Courtelary        80.2        17.0          15        12     9.96
## Delemont          83.1        45.1           6         9    84.84
## Franches-Mnt      92.5        39.7           5         5    93.40
## Moutier           85.8        36.5          12         7    33.77
## Neuveville        76.9        43.5          17        15     5.16
## Porrentruy        76.1        35.3           9         7    90.57
##              Infant.Mortality
## Courtelary               22.2
## Delemont                 22.2
## Franches-Mnt             20.2
## Moutier                  20.3
## Neuveville               20.6
## Porrentruy               26.6

Tính ma trận tương quan

Sử dụng dữ liệu swiss

Giải thích câu lệnh:

• res() dùng để hiển thị sự tương quan giữa các cặp biến

• round() được sử dụng để làm tròn số nguyên đến một độ chính xác nhất định

• Câu lệnh as.matrix(swiss) được sử dụng để chuyển đổi tập dữ liệu swiss thành một ma trận chứa các giá trị của biến trong swiss

• rcorr() được sử dụng để tính toán ma trận tương quan và thực hiện phân tích tương quan

res <- cor(swiss)
round(res, 2)
##                  Fertility Agriculture Examination Education Catholic
## Fertility             1.00        0.35       -0.65     -0.66     0.46
## Agriculture           0.35        1.00       -0.69     -0.64     0.40
## Examination          -0.65       -0.69        1.00      0.70    -0.57
## Education            -0.66       -0.64        0.70      1.00    -0.15
## Catholic              0.46        0.40       -0.57     -0.15     1.00
## Infant.Mortality      0.42       -0.06       -0.11     -0.10     0.18
##                  Infant.Mortality
## Fertility                    0.42
## Agriculture                 -0.06
## Examination                 -0.11
## Education                   -0.10
## Catholic                     0.18
## Infant.Mortality             1.00
res2 <- rcorr(as.matrix(swiss))
res2
##                  Fertility Agriculture Examination Education Catholic
## Fertility             1.00        0.35       -0.65     -0.66     0.46
## Agriculture           0.35        1.00       -0.69     -0.64     0.40
## Examination          -0.65       -0.69        1.00      0.70    -0.57
## Education            -0.66       -0.64        0.70      1.00    -0.15
## Catholic              0.46        0.40       -0.57     -0.15     1.00
## Infant.Mortality      0.42       -0.06       -0.11     -0.10     0.18
##                  Infant.Mortality
## Fertility                    0.42
## Agriculture                 -0.06
## Examination                 -0.11
## Education                   -0.10
## Catholic                     0.18
## Infant.Mortality             1.00
## 
## n= 47 
## 
## 
## P
##                  Fertility Agriculture Examination Education Catholic
## Fertility                  0.0149      0.0000      0.0000    0.0010  
## Agriculture      0.0149                0.0000      0.0000    0.0052  
## Examination      0.0000    0.0000                  0.0000    0.0000  
## Education        0.0000    0.0000      0.0000                0.3018  
## Catholic         0.0010    0.0052      0.0000      0.3018            
## Infant.Mortality 0.0036    0.6845      0.4454      0.5065    0.2380  
##                  Infant.Mortality
## Fertility        0.0036          
## Agriculture      0.6845          
## Examination      0.4454          
## Education        0.5065          
## Catholic         0.2380          
## Infant.Mortality
res2$r
##                   Fertility Agriculture Examination   Education   Catholic
## Fertility         1.0000000  0.35307918  -0.6458827 -0.66378886  0.4636847
## Agriculture       0.3530792  1.00000000  -0.6865422 -0.63952252  0.4010951
## Examination      -0.6458827 -0.68654221   1.0000000  0.69841530 -0.5727418
## Education        -0.6637889 -0.63952252   0.6984153  1.00000000 -0.1538589
## Catholic          0.4636847  0.40109505  -0.5727418 -0.15385892  1.0000000
## Infant.Mortality  0.4165560 -0.06085861  -0.1140216 -0.09932185  0.1754959
##                  Infant.Mortality
## Fertility              0.41655603
## Agriculture           -0.06085861
## Examination           -0.11402160
## Education             -0.09932185
## Catholic               0.17549591
## Infant.Mortality       1.00000000
res2$P
##                     Fertility  Agriculture  Examination    Education
## Fertility                  NA 1.491720e-02 9.450437e-07 3.658617e-07
## Agriculture      1.491720e-02           NA 9.951515e-08 1.304590e-06
## Examination      9.450437e-07 9.951515e-08           NA 4.811397e-08
## Education        3.658617e-07 1.304590e-06 4.811397e-08           NA
## Catholic         1.028523e-03 5.204434e-03 2.588308e-05 3.018078e-01
## Infant.Mortality 3.585238e-03 6.844724e-01 4.453814e-01 5.065456e-01
##                      Catholic Infant.Mortality
## Fertility        1.028523e-03      0.003585238
## Agriculture      5.204434e-03      0.684472412
## Examination      2.588308e-05      0.445381445
## Education        3.018078e-01      0.506545555
## Catholic                   NA      0.238029702
## Infant.Mortality 2.380297e-01               NA

Sau khi thực hiện câu lệnh trên R, ta thấy mức độ tương quan giữa Fertility và Agriculture là 0.35 > 0, vậy thì 2 biến này có mối quan hệ thuận. Nếu hệ số tương quan của cặp biến Fertility và Education là -0.66 < 0, thì 2 biến này có mối quan hệ nghich biến.

Ma trận tương quan với các mức ý nghĩa (giá trị p)

library(Hmisc)
res2<-rcorr(as.matrix(mtcars[,1:7]))

Sử dụng hàm corrplot(): Vẽ biểu đồ tương quan

Đầu tiên, chúng em cài packages corrplot : install.packages(“corrplot”)

Giải thích câu lệnh: type = “upper” để hiển thị nửa trên ma trận tương quan. Ma trận tương quan được sắp xếp lại theo hệ số tương quan sử dụng phương pháp “hclust”. tl.col và tl.srt được sử dụng để thay đổi màu và xoay label.

Hàm corrplot() lấy ma trận tương quan làm đối số đầu tiên. Đối số thứ hai (type=“upper”) được sử dụng để chỉ hiển thị tam giác trên của ma trận tương quan .

library(corrplot)
## Warning: package 'corrplot' was built under R version 4.2.3
## corrplot 0.92 loaded
corrplot(res, type = "upper", order = "hclust", tl.col = "black", tl.srt = 45)

Nhận xét: Tương quan thuận được hiển thị bằng màu xanh lam và tương quan nghịch bằng màu đỏ. Cường độ màu và kích thước của hình tròn tỉ lệ với các hệ số tương quan. Ở bên phải của biểu đồ tương quan, thang màu chú thích hiển thị hệ số tương quan với các màu tương ứng. Ví dụ như: Cặp tương quan Examination - Agriculture là tương quan nghịch với kích thước gần bằng 0.8 được thể hiện là màu đỏ. Cặp tương quan Examination - Education là tương quan thuận với kích thước gần bằng 0.8 được thể hiện là màu xanh lam đậm. Từ đó, chúng ta kết luận rằng biểu đồ có các cặp tương quan thuận nhiều hơn các cặp tương quan nghịch.

Sử dụng chart.Correlation(): Vẽ biểu đồ phân tán

Sử dụng hàm PerformanceAnalytics.

Tiếp theo, chúng em cài packages PerformanceAnalytics.

Giải thích câu lệnh: chart.Correlation: Biểu đồ ma trận tương quan swiss:Dữ liệu chỉ số sinh và kinh tế xã hội Thụy Sĩ (1888) histogram=TRUE: kiểm tra các đối tượng pch=19: thêm điểm (vòng tròn rắn) vào đồ thị

library("PerformanceAnalytics")
chart.Correlation(swiss, histogram=TRUE, pch=19)

Nhận xét: đồ thị trên cho chúng ta biết tất cả hệ số tương quan giữa tất cả các biến số (biến liên tục). Cụ thể như, hệ số tương quan cao nhất (0.70) giữa Education với Examination, giữa Fertiity và Catholic (0.46);… là những mối tương quan có hệ số cao nhất (có ý nghĩa thống kê). Tuy nhiên, giữa Examination và Infant.Mortalilty… có hệ số tương quan quá thấp và không có ý nghĩa thống kê. Ngoài ra, đồ thị trên còn cung cấp cho ta biểu đồ tán xạ, biểu đồ histogram cho từng cặp biến số và cho biết hệ số tương quan càng cao, kích thước của font chữ (số) càng lớn. Trong cốt truyện trên:

Phân phối của từng biến được hiển thị trên đường chéo. Ở dưới cùng của đường chéo: các biểu đồ phân tán hai chiều với một đường phù hợp được hiển thị Trên cùng của đường chéo : giá trị của mối tương quan cộng với mức ý nghĩa như các ngôi sao Mỗi mức ý nghĩa được liên kết với một ký hiệu : giá trị p(0, 0,001, 0,01, 0,05, 0,1, 1) <=> ký hiệu(“”, ””, ””, “.”, ” “)

Sử dụng bản đồ nhiệt()

Sử dụng hàm heatmap()

Giải thích câu lệnh:

• colorRampPalette(c(“blue”, “white”, “red”)) : để thể hiện các màu trong package gồm màu xanh, trắng, đỏ

• x = res: ma trận tương quan được vẽ từ dữ liệu thước đo của mức sinh tiêu chuẩn hóa và chỉ số kinh tế xã hội Thụy Sĩ (1888)

• col = col: dùng bảng màu colorRampPalette • symm = TRUE: kiểm tra các đối tượng

col<- colorRampPalette(c("blue", "white", "red"))(20)
heatmap(x = res, col = col, symm = TRUE)

Nhận xét: Tương quan của tất cả về thước đo mức sinh tiêu chuẩn hóa và chỉ số kinh tế xã hội Thụy Sĩ (1888) . Có thể thấy tương quan giữa các chỉ số kinh tế xã hội Thụy Sĩ ở mức trung bình. Mối tương quan thấp nhất là giữa Examination (quân dịch nhận được điểm cao nhất trong kỳ thi quân sự) và Education (giáo dục ngoài tiểu học cho những người nhập ngũ). Mối tương quan cao nhất là ở Agriculture ( nam giới tham gia vào nông nghiệp như nghề nghiệp), Fertility (đo lường mức sinh chuẩn hóa chung), Catholic (công giáo) .Mức tương quan giữa các thị trường có xu hướng giảm.