library(foreign)
#Doc du lieu tu bo nho ngoai
data = read.csv("D://Datasets/Data-Analysis/salary.csv")
attach(data) #chuyen du lieu vao bo nho
#data
#Linear Regression (Y~X) 
#fit = lm(salnow~salbeg)
fit = lm(salnow~salbeg, data = data)
fit
## 
## Call:
## lm(formula = salnow ~ salbeg, data = data)
## 
## Coefficients:
## (Intercept)       salbeg  
##     771.282        1.909
summary(fit)
## 
## Call:
## lm(formula = salnow ~ salbeg, data = data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -14169.7  -1612.2   -461.7   1033.7  19717.1 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 771.28230  355.47194    2.17   0.0305 *  
## salbeg        1.90945    0.04741   40.28   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3246 on 472 degrees of freedom
## Multiple R-squared:  0.7746, Adjusted R-squared:  0.7741 
## F-statistic:  1622 on 1 and 472 DF,  p-value: < 2.2e-16
a <- data.frame(salbeg = 300)
a
result <-  predict(fit,a)
print(result)
##        1 
## 1344.117
cov(salnow,salbeg)# ????
## [1] 18925532
cor(salnow,salbeg)  # calculate correlation between salnow and salnbeg 
## [1] 0.8801175
b = data.frame(salbeg=400)
predict(fit,b)
##        1 
## 1535.062
range(salbeg)
## [1]  3600 31992
mad(salbeg)
## [1] 1494.461
# Plot the chart.
#plot(y,x,col = "blue",main = "Height & Weight Regression", abline(lm(x~y)),cex = 1.5,pch = 16,xlab = "Weight in Kg",ylab = "Height in cm")
plot(salbeg,salnow,col = "red",main = "Height & Weight Regression", cex = 1.1,pch = 16,xlab = "SalBegin",ylab = "SalNow")
abline(fit,lwd =3, col = "green")

arrows(5000,50000,16000, predict(fit, data.frame(salbeg=16000)))
text(10000,50000,"Line of the best fit", pos=3) # Text align to the right of the point of (10000,50000)

#png(file = "linearregression.png")
#scatter.smooth(x= salbeg, y = salnow, main = "salnow ~ salbeg", col = "red")  # scatterplot
# Other useful functions 
coefficients(fit) # model coefficients
## (Intercept)      salbeg 
##   771.28230     1.90945
confint(fit, level=0.95) # CIs for model parameters 
##                2.5 %     97.5 %
## (Intercept) 72.77899 1469.78562
## salbeg       1.81629    2.00261
fitted(fit) # predicted values
##         1         2         3         4         5         6         7         8 
## 13946.485 11082.311 10394.909 12800.816 12227.981 13946.485 12800.816 14519.320 
##         9        10        11        12        13        14        15        16 
## 12227.981 11082.311 15664.990 13373.651 15092.155 15664.990 16352.392 11655.146 
##        17        18        19        20        21        22        23        24 
## 12800.816 21966.174 12227.981 12227.981 15664.990 11884.280 12227.981 13373.651 
##        25        26        27        28        29        30        31        32 
## 12227.981 13831.918 13373.651 12227.981 15664.990 12227.981 12800.816 11540.579 
##        33        34        35        36        37        38        39        40 
## 13373.651 15664.990 12800.816 16237.825 11655.146 12227.981 13373.651 11082.311 
##        41        42        43        44        45        46        47        48 
## 12227.981 25196.963 14519.320 12800.816 11655.146 11655.146 13029.950 12227.981 
##        49        50        51        52        53        54        55        56 
## 12227.981 11655.146 12227.981 16810.660 10509.476 13946.485 11655.146 13373.651 
##        57        58        59        60        61        62        63        64 
## 13946.485 12800.816 11082.311 16993.967 12686.249 16237.825 11082.311 12800.816 
##        65        66        67        68        69        70        71        72 
## 11082.311 12227.981 12227.981 13373.651 15092.155 11540.579 12800.816 13373.651 
##        73        74        75        76        77        78        79        80 
## 12227.981 13946.485  9592.940 10509.476  9936.641 10853.177 10853.177  9936.641 
##        81        82        83        84        85        86        87        88 
##  9936.641 15092.155 14519.320 13373.651 11082.311 15664.990 11311.445 11082.311 
##        89        90        91        92        93        94        95        96 
##  9344.712 11655.146 13373.651 15092.155 16031.605  8218.136  8561.837  8561.837 
##        97        98        99       100       101       102       103       104 
##  8218.136 13373.651  9936.641 12457.115 10738.610 10509.476 11655.146  8561.837 
##       105       106       107       108       109       110       111       112 
##  9134.672 11655.146 10165.775 11082.311  8561.837  8561.837  8561.837  9134.672 
##       113       114       115       116       117       118       119       120 
## 11082.311 14519.320 11082.311  9363.806 11082.311 11769.713 11311.445 11540.579 
##       121       122       123       124       125       126       127       128 
##  9936.641 11082.311  9363.806  8561.837 10509.476  8561.837  8905.538 11082.311 
##       129       130       131       132       133       134       135       136 
##  9592.940 11082.311 12800.816  8218.136 10624.043  8561.837  9592.940 10509.476 
##       137       138       139       140       141       142       143       144 
## 11426.012  8561.837 11884.280  9936.641 11082.311  8447.270  8218.136 10280.342 
##       145       146       147       148       149       150       151       152 
## 12227.981 10853.177  8790.971 11655.146 12800.816 14519.320  8561.837  9936.641 
##       153       154       155       156       157       158       159       160 
##  8561.837  9936.641 11655.146  9134.672  9134.672  8218.136  8561.837  8561.837 
##       161       162       163       164       165       166       167       168 
## 11082.311 11082.311 14129.793 10509.476 13029.950 13373.651 10509.476 13373.651 
##       169       170       171       172       173       174       175       176 
## 12227.981 14519.320 12227.981 11655.146 12227.981 12227.981 12227.981 15664.990 
##       177       178       179       180       181       182       183       184 
## 12227.981 12227.981 12227.981  9592.940 12800.816 10738.610 12800.816 13373.651 
##       185       186       187       188       189       190       191       192 
## 11082.311 14519.320 18529.165 12227.981 16466.959 14519.320 11082.311 11082.311 
##       193       194       195       196       197       198       199       200 
## 12227.981 12800.816 12800.816  9936.641 11655.146  8561.837  8561.837 11082.311 
##       201       202       203       204       205       206       207       208 
##  9249.239 11655.146 12800.816 12227.981 10509.476  9936.641 13602.784  8218.136 
##       209       210       211       212       213       214       215       216 
##  8561.837 10509.476 11655.146  7645.301  8561.837 11082.311  8561.837 10509.476 
##       217       218       219       220       221       222       223       224 
##  9936.641 12227.981  9134.672  7645.301  9134.672 11426.012  7645.301  8561.837 
##       225       226       227       228       229       230       231       232 
##  9592.940  8561.837 10738.610 13373.651 12800.816 11998.847 13373.651 11655.146 
##       233       234       235       236       237       238       239       240 
## 12227.981 12227.981 12800.816 12800.816 12227.981 12800.816 12227.981 13373.651 
##       241       242       243       244       245       246       247       248 
## 12800.816 12800.816 13373.651 13373.651 14519.320 11655.146 12800.816 11655.146 
##       249       250       251       252       253       254       255       256 
## 13373.651 12800.816 12800.816 12227.981 12800.816 12800.816 13373.651 12227.981 
##       257       258       259       260       261       262       263       264 
## 12800.816 11655.146 12800.816 12800.816 13373.651 12800.816  9363.806  9363.806 
##       265       266       267       268       269       270       271       272 
##  9936.641 11082.311 10280.342 13946.485  9363.806  9936.641 10280.342  9363.806 
##       273       274       275       276       277       278       279       280 
## 10509.476  8790.971  9363.806 13373.651 13373.651 10280.342  9363.806  9592.940 
##       281       282       283       284       285       286       287       288 
##  9363.806  9363.806 11082.311 15092.155  9134.672  9592.940  9363.806  9363.806 
##       289       290       291       292       293       294       295       296 
##  9478.373 10967.744  9363.806  9592.940 15664.990  9936.641 10509.476 11426.012 
##       297       298       299       300       301       302       303       304 
## 15664.990  8790.971  9363.806 14519.320  9134.672 12227.981  9363.806 10280.342 
##       305       306       307       308       309       310       311       312 
##  9134.672  9363.806  9592.940 10509.476  9363.806  9134.672 13946.485 14519.320 
##       313       314       315       316       317       318       319       320 
##  9134.672  9936.641  9249.239 12800.816 10051.208 10509.476 12457.115  9363.806 
##       321       322       323       324       325       326       327       328 
## 11655.146 11082.311 11082.311 14519.320  9936.641  8790.971  9134.672 11082.311 
##       329       330       331       332       333       334       335       336 
##  9363.806 12227.981 13373.651 10509.476  9134.672 11082.311 13373.651 14519.320 
##       337       338       339       340       341       342       343       344 
## 11082.311 11426.012  9363.806  9363.806 11426.012  9936.641  9363.806  9936.641 
##       345       346       347       348       349       350       351       352 
## 11769.713 12227.981 12227.981 12800.816 12800.816  9478.373 12227.981 12227.981 
##       353       354       355       356       357       358       359       360 
## 12227.981 11655.146  8218.136  9363.806 10738.610  9936.641  9363.806  9134.672 
##       361       362       363       364       365       366       367       368 
##  9363.806  9134.672  9249.239 12800.816 11540.579 12800.816 12227.981 12800.816 
##       369       370       371       372       373       374       375       376 
## 12800.816 12227.981 12800.816 12800.816 12800.816 12800.816 11082.311 12227.981 
##       377       378       379       380       381       382       383       384 
## 12227.981 12800.816 12227.981 12800.816 12800.816 12800.816  7645.301 12227.981 
##       385       386       387       388       389       390       391       392 
## 12800.816 12800.816 12227.981 12227.981 12227.981 12227.981 16810.660 17383.495 
##       393       394       395       396       397       398       399       400 
## 25586.491 20820.504 26548.854 21782.867 17383.495 25219.877 21759.954 25976.019 
##       401       402       403       404       405       406       407       408 
## 21759.954 16810.660 21759.954 18895.779 23684.679 17383.495 24257.514 17956.330 
##       409       410       411       412       413       414       415       416 
## 17566.802 20820.504 16993.967 25196.963 22722.316 17177.274 17383.495 18529.165 
##       417       418       419       420       421       422       423       424 
## 15664.990 20820.504 16810.660 21759.954 23295.151 23684.679 24830.349 15092.155 
##       425       426       427       428       429       430       431       432 
## 14129.793 12800.816 15664.990 13946.485 16031.605 15664.990 22722.316 46598.076 
##       433       434       435       436       437       438       439       440 
## 20247.670 33995.708 21393.339 25976.019 21759.954 27488.303 27488.303 25586.491 
##       441       442       443       444       445       446       447       448 
## 20247.670 18895.779 25976.019 37043.189 23684.679 29413.028 21759.954 28450.666 
##       449       450       451       452       453       454       455       456 
## 25586.491 27511.216 24639.404 28840.193 27488.303 31314.840 16993.967 21782.867 
##       457       458       459       460       461       462       463       464 
## 27534.130 19865.780 22722.316 19858.142 23684.679 26548.854 34453.976 25586.491 
##       465       466       467       468       469       470       471       472 
## 33239.565 25586.491 14519.320 27488.303 33216.652 35141.377 61858.398 40869.727 
##       473       474 
## 35141.377 27488.303
residuals(fit) # residuals
##             1             2             3             4             5 
##   2133.514566   3017.689160   2025.091063   2919.184404  -3347.980677 
##             6             7             8             9            10 
##  -3566.485434  -4280.815596  -3059.320352   3312.019323   -162.310840 
##            11            12            13            14            15 
##  -3928.990190    666.349485    987.844729    475.009810  -1352.392092 
##            16            17            18            19            20 
##   -255.145759   -740.815596  -8118.174296   2892.019323   4092.019323 
##            21            22            23            24            25 
##  -1264.990190  -3124.279726     72.019323   2466.349485   -587.980677 
##            26            27            28            29            30 
##  -3451.918450  -1613.650515   1992.019323   5395.009810   5832.019323 
##            31            32            33            34            35 
##   -200.815596  -1880.578775  -1073.650515   4555.009810  -3020.815596 
##            36            37            38            39            40 
##  -2257.825108    824.854241  -2087.980677   2766.349485  -1062.310840 
##            41            42            43            44            45 
##  -1907.980677   1553.036763   -719.320352  -2300.815596     44.854241 
##            46            47            48            49            50 
##   6744.854241  -2529.949564  -3407.980677  -1847.980677  -1635.145759 
##            51            52            53            54            55 
##    132.019323   1189.339973    170.524079  -3026.485434   5264.854241 
##            56            57            58            59            60 
##  -1313.650515  -3026.485434  -3200.815596   -342.310840    956.032799 
##            61            62            63            64            65 
##  -2186.248612    202.174892   1577.689160    759.184404   1757.689160 
##            66            67            68            69            70 
##  -1487.980677    732.019323    906.349485   -692.155271   1839.421225 
##            71            72            73            74            75 
##  -2000.815596  -1253.650515    132.019323  -3026.485434  -1072.940051 
##            76            77            78            79            80 
##  -1569.475921  -1356.641002  -2093.176872  -2813.176872   -936.641002 
##            81            82            83            84            85 
##  -1116.641002  -1292.155271   7080.679648  -1373.650515   2237.689160 
##            86            87            88            89            90 
##  -2104.990190  -1711.444807  -2142.310840   1755.288414  -2655.145759 
##            91            92            93            94            95 
##  -1973.650515  -5012.155271  -1631.604538    541.863754  -2261.837198 
##            96            97            98            99           100 
##  -1601.837198  -1738.136246  -1733.650515   -156.641002  -3097.114645 
##           101           102           103           104           105 
##  -2878.609889   -849.475921   1004.854241    378.162802    465.327884 
##           106           107           108           109           110 
##  -1395.145759   -985.774970  -1542.310840  -1481.837198  -1721.837198 
##           111           112           113           114           115 
##  -2201.837198   1245.327884  -2442.310840   1800.679648    797.689160 
##           116           117           118           119           120 
##   3176.193916  -2682.310840  -1689.712742  -2431.444807  -1460.578775 
##           121           122           123           124           125 
##   -696.641002  -2442.310840  -1383.806084  -2081.837198  -1749.475921 
##           126           127           128           129           130 
##  -1841.837198    574.461851    857.689160    907.059949  -1662.310840 
##           131           132           133           134           135 
##  -3020.815596    541.863754     55.957095   -581.837198  -1192.940051 
##           136           137           138           139           140 
##    650.524079    -26.011791  -2081.837198   2035.720274  -1596.641002 
##           141           142           143           144           145 
##  -1482.310840   1392.729786   -958.136246  -1580.341954   3312.019323 
##           146           147           148           149           150 
##  -1073.176872  -1290.971165  -3375.145759   2259.184404   5880.679648 
##           151           152           153           154           155 
##   -641.837198  -1596.641002  -1961.837198   3623.358998  -1395.145759 
##           156           157           158           159           160 
##    585.327884   1365.327884  -1558.136246  -1781.837198  -1661.837198 
##           161           162           163           164           165 
##   -402.310840    557.689160   -809.792608  -2649.475921  -2529.949564 
##           166           167           168           169           170 
##  -2153.650515  -1809.475921  -1133.650515  -3227.980677  -3719.320352 
##           171           172           173           174           175 
##  -1607.980677   -435.145759   1872.019323    -47.980677  -1127.980677 
##           176           177           178           179           180 
##    415.009810   -647.980677  -3287.980677  -1547.980677   1507.059949 
##           181           182           183           184           185 
##  -2300.815596   -658.609889  -3200.815596   1986.349485   1517.689160 
##           186           187           188           189           190 
##  -3179.320352   -949.164783  -3287.980677   3133.040924   -239.320352 
##           191           192           193           194           195 
##   -402.310840  -1602.310840   2172.019323  -2240.815596    -20.815596 
##           196           197           198           199           200 
##    -36.641002  -1035.145759  -1601.837198     18.162802   -762.310840 
##           201           202           203           204           205 
##    350.760900  -1755.145759  -1940.815596  -2507.980677   -909.475921 
##           206           207           208           209           210 
##   1163.358998    437.215518   -358.136246  -2021.837198   -489.475921 
##           211           212           213           214           215 
##  -1875.145759   -865.301328  -1781.837198   -642.310840  -1721.837198 
##           216           217           218           219           220 
##     50.524079   -696.641002   -287.980677   -974.672116    814.698672 
##           221           222           223           224           225 
##    885.327884  -3566.011791     34.698672   2418.162802   -172.940051 
##           226           227           228           229           230 
##  -1181.837198  -2398.609889  -4373.650515  -1040.815596  -1018.846710 
##           231           232           233           234           235 
##    546.349485   1364.854241  -1187.980677   -887.980677   -680.815596 
##           236           237           238           239           240 
##  19199.184404  -1607.980677   -320.815596  -1007.980677  -2273.650515 
##           241           242           243           244           245 
##    615.184404   -140.815596    186.349485   -113.650515  -2999.320352 
##           246           247           248           249           250 
##  -2355.145759   3159.184404   2804.854241   1746.349485   -692.815596 
##           251           252           253           254           255 
##   4563.184404   4572.019323  -1820.815596   -860.815596    186.349485 
##           256           257           258           259           260 
##  -1427.980677  -2660.815596   1004.854241   2859.184404   -860.815596 
##           261           262           263           264           265 
##  -2513.650515    759.184404  -1503.806084   -663.806084   1043.358998 
##           266           267           268           269           270 
##  -1422.310840   -500.341954    333.514566   -423.806084  -1296.641002 
##           271           272           273           274           275 
##    879.658046  -1203.806084  -1929.475921   1769.028835   -303.806084 
##           276           277           278           279           280 
##  -4493.650515  -1613.650515   1359.658046   1556.193916     67.059949 
##           281           282           283           284           285 
##     -3.806084   -303.806084  -1722.310840  -2492.155271    585.327884 
##           286           287           288           289           290 
##   2107.059949  -1023.806084   2036.193916   1561.626933   3252.256144 
##           291           292           293           294           295 
##  -1323.806084    847.059949  -4564.990190    263.358998  -1509.475921 
##           296           297           298           299           300 
##  -2246.011791  -2524.990190    389.028835   -843.806084  -1319.320352 
##           301           302           303           304           305 
##    105.327884   -563.980677     -3.806084   1959.658046   -134.672116 
##           306           307           308           309           310 
##  -1203.806084   1087.059949   1130.524079    596.193916  -1274.672116 
##           311           312           313           314           315 
##   -146.485434    120.679648   -314.672116    263.358998   3290.760900 
##           316           317           318           319           320 
##  -3500.815596   3748.792014    770.524079   -697.114645    236.193916 
##           321           322           323           324           325 
##    104.854241  -1242.310840   -522.310840    300.679648   -156.641002 
##           326           327           328           329           330 
##   2609.028835    765.327884   1937.689160   -243.806084   1092.019323 
##           331           332           333           334           335 
##   2046.349485   -969.475921  -1874.672116  -2742.310840  -1253.650515 
##           336           337           338           339           340 
##  -1499.320352     77.689160     93.988209   -243.806084  -1083.806084 
##           341           342           343           344           345 
##  -1346.011791  -1476.641002   -123.806084   1403.358998  -1569.712742 
##           346           347           348           349           350 
##  -1607.980677  -1247.980677    -20.815596  -2120.815596    721.626933 
##           351           352           353           354           355 
##    312.019323    132.019323  -1067.980677   -555.145759    781.863754 
##           356           357           358           359           360 
##   -843.806084   -118.609889    -36.641002   -183.806084   -314.672116 
##           361           362           363           364           365 
##  -1143.806084    645.327884  -1569.239100   -500.815596    759.421225 
##           366           367           368           369           370 
##   -500.815596     72.019323   -800.815596   -560.815596    552.019323 
##           371           372           373           374           375 
##  -1400.815596    -20.815596   -800.815596   1299.184404   1217.689160 
##           376           377           378           379           380 
##   1272.019323     72.019323    999.184404     72.019323   -680.815596 
##           381           382           383           384           385 
##   -980.815596   -320.815596   4654.698672     72.019323   -800.815596 
##           386           387           388           389           390 
##   1299.184404  -2507.980677   -227.980677     72.019323     72.019323 
##           391           392           393           394           395 
##   -730.660027   1816.505054   1663.509018   1179.495542  -4348.853645 
##           396           397           398           399           400 
##   5717.132878  10616.505054   2030.123366   9540.046275   3423.981273 
##           401           402           403           404           405 
##   2390.046275   4439.339973    190.046275   5104.220869   7565.320948 
##           406           407           408           409           410 
##   6116.505054   1742.486030   6293.670135   1933.197880   8679.495542 
##           411           412           413           414           415 
##   1406.032799    803.036763   6277.683612    922.725625  16116.505054 
##           416           417           418           419           420 
##   -279.164783   1795.009810  -3900.504458   5789.339973   5740.046275 
##           421           422           423           424           425 
##  13204.848693   8815.320948   5169.651111   6657.844729   3070.207392 
##           426           427           428           429           430 
##   2319.184404  -1900.990190   4803.514566   6268.395462   1735.009810 
##           431           432           433           434           435 
##   8677.683612  -5198.075801   1712.330461  -5645.707589   1406.660623 
##           436           437           438           439           440 
##  -6956.018727  -1259.953725  -5488.302912   -488.302912  -3586.490982 
##           441           442           443           444           445 
##  -4227.669539  -3415.779131  -1476.018727 -10643.189356     65.320948 
##           446           447           448           449           450 
##  -3413.028239   -909.953725  -7870.665576  -5586.490982  11288.783691 
##           451           452           453           454           455 
##  11610.596084  -4090.193320  -2488.302912   5485.159831   1906.032799 
##           456           457           458           459           460 
##  19717.132878    465.870294   2754.220406   2027.683612  -3238.141795 
##           461           462           463           464           465 
##   -984.679052  -2788.853645   5546.024476  -1586.490982  -3239.565496 
##           466           467           468           469           470 
##   1163.509018   8730.679648   -988.302912  -5516.652099   -641.377426 
##           471           472           473           474 
##  -7858.398035 -14169.726613   9108.622574   5511.697088
anova(fit) # anova table 
vcov(fit) # covariance matrix for model parameters 
##              (Intercept)        salbeg
## (Intercept) 126360.30089 -15.298672783
## salbeg         -15.29867   0.002247678
#influence(fit) # regression diagnostics
# diagnostic plots 
layout(matrix(c(1,2,3,4),2,2)) # optional 4 graphs/page 
plot(fit)