Tên: Mai Huy
MSSV: 43.01.104.065
Số thứ tự: 08
Câu a)
# Load dataset Auto
data("Auto")
# na.omit dùng để xoá đi những dòng có dữ liệu bị mất ( missing data)
Auto = na.omit(Auto)
# attach dùng để khiến cho những biến feature trong dữ liệu có sẵn trong Rstudio theo tên
attach(Auto)
The following objects are masked from Auto (pos = 3):
acceleration, cylinders, displacement, horsepower, mpg,
name, origin, weight, year
The following objects are masked from Auto (pos = 4):
acceleration, cylinders, displacement, horsepower, mpg,
name, origin, weight, year
The following objects are masked from Auto (pos = 5):
acceleration, cylinders, displacement, horsepower, mpg,
name, origin, weight, year
The following objects are masked from Auto (pos = 6):
acceleration, cylinders, displacement, horsepower, mpg,
name, origin, weight, year
The following objects are masked from Auto (pos = 7):
acceleration, cylinders, displacement, horsepower, mpg,
name, origin, weight, year
The following objects are masked from Auto (pos = 8):
acceleration, cylinders, displacement, horsepower, mpg,
name, origin, weight, year
# Dựa trên output ta thấy dự đoán định tính là cột:name, nhưng cũng có thể thấy là cột origin cũng là định tính nhưng do được mã hoá nên data đọc thuộc tính này dưới dạng định lượng(số học), còn định lượng là những cột còn lại
# Hàm str dùng để hiển thị cấu trúc thông tin của dữ liệu
library("ISLR")
str(Auto)
'data.frame': 392 obs. of 9 variables:
$ mpg : num 18 15 18 16 17 15 14 14 14 15 ...
$ cylinders : num 8 8 8 8 8 8 8 8 8 8 ...
$ displacement: num 307 350 318 304 302 429 454 440 455 390 ...
$ horsepower : num 130 165 150 150 140 198 220 215 225 190 ...
$ weight : num 3504 3693 3436 3433 3449 ...
$ acceleration: num 12 11.5 11 12 10.5 10 9 8.5 10 8.5 ...
$ year : num 70 70 70 70 70 70 70 70 70 70 ...
$ origin : num 1 1 1 1 1 1 1 1 1 1 ...
$ name : Factor w/ 304 levels "amc ambassador brougham",..: 49 36 231 14 161 141 54 223 241 2 ...
#as.factor() dùng để chuyển giá trị định lượng origin thành định tính
origin= as.factor(origin)
Câu b)
# Các giá trị định lượng gồm 7 biến đầu tiên của dữ liệu khi loại trừ cột name và origin
#Kích cỡ của 7 giá trị định lượng khi xét theo cột
apply(Auto[,1:7], 2, range)
mpg cylinders displacement horsepower weight acceleration
[1,] 9.0 3 68 46 1613 8.0
[2,] 46.6 8 455 230 5140 24.8
year
[1,] 70
[2,] 82
Câu c)
#Trung bình 7 giá trị định lượng xét theo cột
apply(Auto[,1:7], 2, mean)
mpg cylinders displacement horsepower weight
23.445918 5.471939 194.411990 104.469388 2977.584184
acceleration year
15.541327 75.979592
#Độ lệch chuẩn 7 giá trị định lượng xét theo cột
apply(Auto[,1:7], 2, sd)
mpg cylinders displacement horsepower weight
7.805007 1.705783 104.644004 38.491160 849.402560
acceleration year
2.758864 3.683737
Câu d)
# Lấy tất cả các dòng ngoại trừ dòng 10->85, xét 7 cột giá trị định lượng
#Kích cỡ (range) của 7 giá trị định lượng xét theo cột
apply(Auto[-c(10:85),1:7], 2, range)
mpg cylinders displacement horsepower weight acceleration
[1,] 11.0 3 68 46 1649 8.5
[2,] 46.6 8 455 230 4997 24.8
year
[1,] 70
[2,] 82
#Trung bình (mean) của 7 giá trị định lượng xét theo cột
apply(Auto[-c(10:85),1:7], 2, mean)
mpg cylinders displacement horsepower weight
24.404430 5.373418 187.240506 100.721519 2935.971519
acceleration year
15.726899 77.145570
#Độ lệch chuẩn của 7 giá trị định lượng xét theo cột
apply(Auto[-c(10:85),1:7], 2, sd)
mpg cylinders displacement horsepower weight
7.867283 1.654179 99.678367 35.708853 811.300208
acceleration year
2.693721 3.106217
Câu e)
# Pairs() dùng để tạo ra ma trận đồ thị phân tán của 7 giá trị định lượng trong dữ liệu
pairs(Auto[,1:7])

# Ta thấy các giá trị trong dữ liệu có mối quan hệ tuyến tính với nhau ví dụ như là mpg x cylinders, horsepower x weight, mpg x weight và displacement x acceleration
#Biểu đồ phân tán của các biến dữ liệu với các dữ liệu cột được chia thành cửa sổ 2x2 bằng cách sử dụng hàm mfrow=c(2,2)
par(mfrow=c(2,2))
plot(displacement, acceleration)
plot(weight, horsepower)
plot(cylinders, mpg)
plot(weight, mpg)

Câu f)
#Biểu đồ phân tán của các biến dữ liệu với các dữ liệu cột được chia thành cửa sổ 3x2 bằng cách sử dụng hàm mfrow=c(3,2)
par(mfrow=c(3,2))
# Biểu biểu đồ phân tán của mpg với các biến định lượng còn lại của data với mpg là trục x và các biến còn lại là trục y
for(i in names(Auto[, c(2:7)])){
plot(mpg, get(i), ylab=i)
}

Ta thấy thông qua biểu đồ phân tán thì mpg có một mối tương quan nào đó với các giá trị đinh lượng còn lại
# Mô hình multy-linear regression cho cả những biến định tính và định lượng
model <- lm(mpg ~ cylinders+year+weight+horsepower+displacement+acceleration+origin, data= Auto)
# Hàm anova tính toán và phân tích dựa trên phương sai và độ lệch của dữ liệu
anova(model)
Analysis of Variance Table
Response: mpg
Df Sum Sq Mean Sq F value Pr(>F)
cylinders 1 14403.1 14403.1 1300.6838 < 2.2e-16 ***
year 1 2629.2 2629.2 237.4301 < 2.2e-16 ***
weight 1 2222.7 2222.7 200.7267 < 2.2e-16 ***
horsepower 1 1.6 1.6 0.1446 0.7039
displacement 1 10.8 10.8 0.9756 0.3239
acceleration 1 8.2 8.2 0.7443 0.3888
origin 1 291.1 291.1 26.2912 4.666e-07 ***
Residuals 384 4252.2 11.1
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Dựa trên dữ liệu của bảng anova, ta thấy những biến như horsepower, displacement, acceleration (không có ’*’) không có nhiều ý nghĩa trong việc dự đoán mpg
LS0tDQp0aXRsZTogIkLDoGkgdOG6rXAgMiINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCiMjIyBUw6puOiBNYWkgSHV5DQojIyMgTVNTVjogNDMuMDEuMTA0LjA2NQ0KIyMjIFPhu5EgdGjhu6kgdOG7sTogMDgNCg0KIyBDw6J1IGEpDQoNCmBgYHtyfQ0KIyBMb2FkIGRhdGFzZXQgQXV0bw0KZGF0YSgiQXV0byIpDQojIG5hLm9taXQgZMO5bmcgxJHhu4MgeG/DoSDEkWkgbmjhu69uZyBkw7JuZyBjw7MgZOG7ryBsaeG7h3UgYuG7iyBt4bqldCAoIG1pc3NpbmcgZGF0YSkNCkF1dG8gPSBuYS5vbWl0KEF1dG8pDQojIGF0dGFjaCBkw7luZyDEkeG7gyBraGnhur9uIGNobyBuaOG7r25nIGJp4bq/biBmZWF0dXJlIHRyb25nIGThu68gbGnhu4d1IGPDsyBz4bq1biB0cm9uZyBSc3R1ZGlvIHRoZW8gdMOqbg0KYXR0YWNoKEF1dG8pDQojIEThu7FhIHRyw6puIG91dHB1dCB0YSB0aOG6pXkgZOG7sSDEkW/DoW4gxJHhu4tuaCB0w61uaCBsw6AgY+G7mXQ6bmFtZSwgbmjGsG5nIGPFqW5nIGPDsyB0aOG7gyB0aOG6pXkgbMOgIGPhu5l0IG9yaWdpbiBjxaluZyBsw6AgxJHhu4tuaCB0w61uaCBuaMawbmcgZG8gxJHGsOG7o2MgbcOjIGhvw6EgbsOqbiBkYXRhIMSR4buNYyB0aHXhu5ljIHTDrW5oIG7DoHkgZMaw4bubaSBk4bqhbmcgxJHhu4tuaCBsxrDhu6NuZyhz4buRIGjhu41jKSwgY8OybiDEkeG7i25oIGzGsOG7o25nIGzDoCBuaOG7r25nIGPhu5l0IGPDsm4gbOG6oWkNCg0KIyBIw6BtIHN0ciBkw7luZyDEkeG7gyBoaeG7g24gdGjhu4sgY+G6pXUgdHLDumMgdGjDtG5nIHRpbiBj4bunYSBk4buvIGxp4buHdQ0KbGlicmFyeSgiSVNMUiIpDQpzdHIoQXV0bykNCiNhcy5mYWN0b3IoKSBkw7luZyDEkeG7gyBjaHV54buDbiBnacOhIHRy4buLIMSR4buLbmggbMaw4bujbmcgb3JpZ2luIHRow6BuaCDEkeG7i25oIHTDrW5oDQpvcmlnaW49IGFzLmZhY3RvcihvcmlnaW4pDQpgYGANCg0KIyBDw6J1IGIpDQoNCmBgYHtyfQ0KIyBDw6FjIGdpw6EgdHLhu4sgxJHhu4tuaCBsxrDhu6NuZyBn4buTbSA3IGJp4bq/biDEkeG6p3UgdGnDqm4gY+G7p2EgZOG7ryBsaeG7h3Uga2hpIGxv4bqhaSB0cuG7qyBj4buZdCBuYW1lIHbDoCBvcmlnaW4NCiNLw61jaCBj4buhIGPhu6dhIDcgZ2nDoSB0cuG7iyDEkeG7i25oIGzGsOG7o25nIGtoaSB4w6l0IHRoZW8gY+G7mXQNCmFwcGx5KEF1dG9bLDE6N10sIDIsIHJhbmdlKQ0KYGBgDQoNCiMgQ8OidSBjKQ0KDQpgYGB7cn0NCiNUcnVuZyBiw6xuaCA3IGdpw6EgdHLhu4sgxJHhu4tuaCBsxrDhu6NuZyB4w6l0IHRoZW8gY+G7mXQNCmFwcGx5KEF1dG9bLDE6N10sIDIsIG1lYW4pDQojxJDhu5kgbOG7h2NoIGNodeG6qW4gNyBnacOhIHRy4buLIMSR4buLbmggbMaw4bujbmcgeMOpdCB0aGVvIGPhu5l0DQphcHBseShBdXRvWywxOjddLCAyLCBzZCkNCmBgYA0KIA0KIyBDw6J1IGQpDQoNCmBgYHtyfQ0KIyBM4bqleSB04bqldCBj4bqjIGPDoWMgZMOybmcgbmdv4bqhaSB0cuG7qyBkw7JuZyAxMC0+ODUsIHjDqXQgNyBj4buZdCBnacOhIHRy4buLIMSR4buLbmggbMaw4bujbmcNCiNLw61jaCBj4buhIChyYW5nZSkgY+G7p2EgNyBnacOhIHRy4buLIMSR4buLbmggbMaw4bujbmcgeMOpdCB0aGVvIGPhu5l0DQphcHBseShBdXRvWy1jKDEwOjg1KSwxOjddLCAyLCByYW5nZSkNCiNUcnVuZyBiw6xuaCAobWVhbikgY+G7p2EgNyBnacOhIHRy4buLIMSR4buLbmggbMaw4bujbmcgeMOpdCB0aGVvIGPhu5l0DQphcHBseShBdXRvWy1jKDEwOjg1KSwxOjddLCAyLCBtZWFuKQ0KI8SQ4buZIGzhu4djaCBjaHXhuqluIGPhu6dhIDcgZ2nDoSB0cuG7iyDEkeG7i25oIGzGsOG7o25nIHjDqXQgdGhlbyBj4buZdA0KYXBwbHkoQXV0b1stYygxMDo4NSksMTo3XSwgMiwgc2QpDQpgYGANCg0KIyBDw6J1IGUpDQoNCmBgYHtyfQ0KIyBQYWlycygpIGTDuW5nIMSR4buDIHThuqFvIHJhIG1hIHRy4bqtbiDEkeG7kyB0aOG7iyBwaMOibiB0w6FuIGPhu6dhIDcgZ2nDoSB0cuG7iyDEkeG7i25oIGzGsOG7o25nIHRyb25nIGThu68gbGnhu4d1IA0KcGFpcnMoQXV0b1ssMTo3XSkNCmBgYA0KYGBge3J9DQojIFRhIHRo4bqleSBjw6FjIGdpw6EgdHLhu4sgdHJvbmcgZOG7ryBsaeG7h3UgY8OzIG3hu5FpIHF1YW4gaOG7hyB0dXnhur9uIHTDrW5oIHbhu5tpIG5oYXUgdsOtIGThu6UgbmjGsCBsw6AgbXBnIHggY3lsaW5kZXJzLCBob3JzZXBvd2VyIHggd2VpZ2h0LCBtcGcgeCB3ZWlnaHQgdsOgIGRpc3BsYWNlbWVudCB4IGFjY2VsZXJhdGlvbg0KI0Jp4buDdSDEkeG7kyBwaMOibiB0w6FuIGPhu6dhIGPDoWMgYmnhur9uICBk4buvIGxp4buHdSB24bubaSBjw6FjIGThu68gbGnhu4d1IGPhu5l0IMSRxrDhu6NjIGNoaWEgdGjDoG5oIGPhu61hIHPhu5UgMngyIGLhurFuZyBjw6FjaCBz4butIGThu6VuZyBow6BtIG1mcm93PWMoMiwyKQ0KcGFyKG1mcm93PWMoMiwyKSkNCnBsb3QoZGlzcGxhY2VtZW50LCBhY2NlbGVyYXRpb24pDQpwbG90KHdlaWdodCwgaG9yc2Vwb3dlcikNCnBsb3QoY3lsaW5kZXJzLCBtcGcpDQpwbG90KHdlaWdodCwgbXBnKQ0KYGBgDQoNCiMjIEPDonUgZikNCg0KYGBge3J9DQojQmnhu4N1IMSR4buTIHBow6JuIHTDoW4gY+G7p2EgY8OhYyBiaeG6v24gIGThu68gbGnhu4d1IHbhu5tpIGPDoWMgZOG7ryBsaeG7h3UgY+G7mXQgxJHGsOG7o2MgY2hpYSB0aMOgbmggY+G7rWEgc+G7lSAzeDIgYuG6sW5nIGPDoWNoIHPhu60gZOG7pW5nIGjDoG0gbWZyb3c9YygzLDIpDQpwYXIobWZyb3c9YygzLDIpKQ0KIyBCaeG7g3UgYmnhu4N1IMSR4buTIHBow6JuIHTDoW4gY+G7p2EgbXBnIHbhu5tpIGPDoWMgYmnhur9uIMSR4buLbmggbMaw4bujbmcgY8OybiBs4bqhaSBj4bunYSBkYXRhIHbhu5tpIG1wZyBsw6AgdHLhu6VjIHggdsOgIGPDoWMgYmnhur9uIGPDsm4gbOG6oWkgbMOgIHRy4bulYyB5DQpmb3IoaSBpbiBuYW1lcyhBdXRvWywgYygyOjcpXSkpew0KICBwbG90KG1wZywgZ2V0KGkpLCB5bGFiPWkpDQp9DQpgYGANCg0KIyMjIFRhIHRo4bqleSB0aMO0bmcgcXVhIGJp4buDdSDEkeG7kyBwaMOibiB0w6FuIHRow6wgbXBnIGPDsyBt4buZdCBt4buRaSB0xrDGoW5nIHF1YW4gbsOgbyDEkcOzIHbhu5tpIGPDoWMgZ2nDoSB0cuG7iyDEkWluaCBsxrDhu6NuZyBjw7JuIGzhuqFpDQoNCmBgYHtyfQ0KIyBNw7QgaMOsbmggbXVsdHktbGluZWFyIHJlZ3Jlc3Npb24gY2hvIGPhuqMgbmjhu69uZyBiaeG6v24gxJHhu4tuaCB0w61uaCB2w6AgxJHhu4tuaCBsxrDhu6NuZw0KbW9kZWwgPC0gbG0obXBnIH4gY3lsaW5kZXJzK3llYXIrd2VpZ2h0K2hvcnNlcG93ZXIrZGlzcGxhY2VtZW50K2FjY2VsZXJhdGlvbitvcmlnaW4sIGRhdGE9IEF1dG8pDQojIEjDoG0gYW5vdmEgdMOtbmggdG/DoW4gdsOgIHBow6JuIHTDrWNoIGThu7FhIHRyw6puIHBoxrDGoW5nIHNhaSB2w6AgxJHhu5kgbOG7h2NoIGPhu6dhIGThu68gbGnhu4d1DQphbm92YShtb2RlbCkNCg0KYGBgDQoNCiMjIyBE4buxYSB0csOqbiBk4buvIGxp4buHdSBj4bunYSBi4bqjbmcgYW5vdmEsIHRhIHRo4bqleSBuaOG7r25nIGJp4bq/biBuaMawIGhvcnNlcG93ZXIsIGRpc3BsYWNlbWVudCwgYWNjZWxlcmF0aW9uIChraMO0bmcgY8OzICcqJykga2jDtG5nIGPDsyBuaGnhu4F1IMO9IG5naMSpYSB0cm9uZyB2aeG7h2MgZOG7sSDEkW/DoW4gbXBnDQo=