hoiquy <- function(data, x, y) {
  model <- lm(formula = paste(y, "~", x), data = data)
  summary(model)
  return(summary(model)) 
  # Kiểm định tương quan
  cor.test(data, x)
  # Một số đồ thị trong phân tích tương quan
  raqMatrix <- cor(data %>% select(y, x))
 # Tìm dộ tin cậy 95%
  confint(model) 
  re <- resid(model)
  # Giả thiết 1: Sai số ngẫu nhiên có phân phối chuẩn
  shapiro.test(re)
  # Giả thiết 2: Kỳ vọng của sai số ngẫu nhiên tại mỗi giá trị bằng 0
  t.test(re, mu = 0)
  # Giả thiết 3: Phương sai của sai số ngẫu nhiên không đổi
  ncvTest(model)
  
}
x <- c(57, 60, 55.5, 117, 98, 69, 100, 150, 200, 125, 170, 195, 270, 198)
y <- c(10, 15.7, 50, 76, 24.8, 200, 198, 150, 99.8, 76.5, 45.4, 187, 78.3, 200)
new <- data.frame(x,y)


hoiquy(new, "x",  "y")
## 
## Call:
## lm(formula = paste(y, "~", x), data = data)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -67.20 -64.01 -22.05  60.76 119.70 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)  58.2275    44.4415   1.310    0.215
## x             0.3198     0.3010   1.062    0.309
## 
## Residual standard error: 71.76 on 12 degrees of freedom
## Multiple R-squared:  0.08598,    Adjusted R-squared:  0.00981 
## F-statistic: 1.129 on 1 and 12 DF,  p-value: 0.3089
LS0tDQp0aXRsZTogIlVudGl0bGVkIg0KYXV0aG9yOiAia2nhu4NtIHRyYSINCmRhdGU6ICIyMDIzLTA3LTI1Ig0Kb3V0cHV0OiANCiAgaHRtbF9kb2N1bWVudDoNCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQogICAgY29kZV9mb2xkaW5nOiBoaWRlDQogICAgaGlnaGxpZ2h0OiBweWdtZW50cw0KICAgICMgbnVtYmVyX3NlY3Rpb25zOiB5ZXMNCiAgICB0aGVtZTogImZsYXRseSINCiAgICB0b2M6IFRSVUUNCiAgICB0b2NfZmxvYXQ6IFRSVUUNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkNCmBgYA0KDQpgYGB7cn0NCmhvaXF1eSA8LSBmdW5jdGlvbihkYXRhLCB4LCB5KSB7DQogIG1vZGVsIDwtIGxtKGZvcm11bGEgPSBwYXN0ZSh5LCAifiIsIHgpLCBkYXRhID0gZGF0YSkNCiAgc3VtbWFyeShtb2RlbCkNCiAgcmV0dXJuKHN1bW1hcnkobW9kZWwpKSANCiAgIyBLaeG7g20gxJHhu4tuaCB0xrDGoW5nIHF1YW4NCiAgY29yLnRlc3QoZGF0YSwgeCkNCiAgIyBN4buZdCBz4buRIMSR4buTIHRo4buLIHRyb25nIHBow6JuIHTDrWNoIHTGsMahbmcgcXVhbg0KICByYXFNYXRyaXggPC0gY29yKGRhdGEgJT4lIHNlbGVjdCh5LCB4KSkNCiAjIFTDrG0gZOG7mSB0aW4gY+G6rXkgOTUlDQogIGNvbmZpbnQobW9kZWwpIA0KICByZSA8LSByZXNpZChtb2RlbCkNCiAgIyBHaeG6oyB0aGnhur90IDE6IFNhaSBz4buRIG5n4bqrdSBuaGnDqm4gY8OzIHBow6JuIHBo4buRaSBjaHXhuqluDQogIHNoYXBpcm8udGVzdChyZSkNCiAgIyBHaeG6oyB0aGnhur90IDI6IEvhu7MgduG7jW5nIGPhu6dhIHNhaSBz4buRIG5n4bqrdSBuaGnDqm4gdOG6oWkgbeG7l2kgZ2nDoSB0cuG7iyBi4bqxbmcgMA0KICB0LnRlc3QocmUsIG11ID0gMCkNCiAgIyBHaeG6oyB0aGnhur90IDM6IFBoxrDGoW5nIHNhaSBj4bunYSBzYWkgc+G7kSBuZ+G6q3Ugbmhpw6puIGtow7RuZyDEkeG7lWkNCiAgbmN2VGVzdChtb2RlbCkNCiAgDQp9DQpgYGANCg0KYGBge3J9DQp4IDwtIGMoNTcsIDYwLCA1NS41LCAxMTcsIDk4LCA2OSwgMTAwLCAxNTAsIDIwMCwgMTI1LCAxNzAsIDE5NSwgMjcwLCAxOTgpDQp5IDwtIGMoMTAsIDE1LjcsIDUwLCA3NiwgMjQuOCwgMjAwLCAxOTgsIDE1MCwgOTkuOCwgNzYuNSwgNDUuNCwgMTg3LCA3OC4zLCAyMDApDQpuZXcgPC0gZGF0YS5mcmFtZSh4LHkpDQoNCg0KaG9pcXV5KG5ldywgIngiLCAgInkiKQ0KYGBgDQoNCg0KDQo=