The attached who.csv dataset contains real-world data from 2008. The variables included follow. Country: name of the country LifeExp: average life expectancy for the country in years InfantSurvival: proportion of those surviving to one year or more Under5Survival: proportion of those surviving to five years or more TBFree: proportion of the population without TB. PropMD: proportion of the population who are MDs PropRN: proportion of the population who are RNs PersExp: mean personal expenditures on healthcare in US dollars at average exchange rate GovtExp: mean government expenditures per capita on healthcare, US dollars at average exchange rate TotExp: sum of personal and government expenditures.
who<- read.csv(file="c:/Users/Ada/Desktop/CUNY_SPS_DA/605_02_Comp_Math_R/who.csv")
cars[!complete.cases(cars),] # check encompleted rows
str(who)
## 'data.frame': 190 obs. of 10 variables:
## $ Country : Factor w/ 190 levels "Afghanistan",..: 1 2 3 4 5 6 7 8 9 10 ...
## $ LifeExp : int 42 71 71 82 41 73 75 69 82 80 ...
## $ InfantSurvival: num 0.835 0.985 0.967 0.997 0.846 0.99 0.986 0.979 0.995 0.996 ...
## $ Under5Survival: num 0.743 0.983 0.962 0.996 0.74 0.989 0.983 0.976 0.994 0.996 ...
## $ TBFree : num 0.998 1 0.999 1 0.997 ...
## $ PropMD : num 2.29e-04 1.14e-03 1.06e-03 3.30e-03 7.04e-05 ...
## $ PropRN : num 0.000572 0.004614 0.002091 0.0035 0.001146 ...
## $ PersExp : int 20 169 108 2589 36 503 484 88 3181 3788 ...
## $ GovtExp : int 92 3128 5184 169725 1620 12543 19170 1856 187616 189354 ...
## $ TotExp : int 112 3297 5292 172314 1656 13046 19654 1944 190797 193142 ...
summary(who)
## Country LifeExp InfantSurvival
## Afghanistan : 1 Min. :40.00 Min. :0.8350
## Albania : 1 1st Qu.:61.25 1st Qu.:0.9433
## Algeria : 1 Median :70.00 Median :0.9785
## Andorra : 1 Mean :67.38 Mean :0.9624
## Angola : 1 3rd Qu.:75.00 3rd Qu.:0.9910
## Antigua and Barbuda: 1 Max. :83.00 Max. :0.9980
## (Other) :184
## Under5Survival TBFree PropMD PropRN
## Min. :0.7310 Min. :0.9870 Min. :0.0000196 Min. :0.0000883
## 1st Qu.:0.9253 1st Qu.:0.9969 1st Qu.:0.0002444 1st Qu.:0.0008455
## Median :0.9745 Median :0.9992 Median :0.0010474 Median :0.0027584
## Mean :0.9459 Mean :0.9980 Mean :0.0017954 Mean :0.0041336
## 3rd Qu.:0.9900 3rd Qu.:0.9998 3rd Qu.:0.0024584 3rd Qu.:0.0057164
## Max. :0.9970 Max. :1.0000 Max. :0.0351290 Max. :0.0708387
##
## PersExp GovtExp TotExp
## Min. : 3.00 Min. : 10.0 Min. : 13
## 1st Qu.: 36.25 1st Qu.: 559.5 1st Qu.: 584
## Median : 199.50 Median : 5385.0 Median : 5541
## Mean : 742.00 Mean : 40953.5 Mean : 41696
## 3rd Qu.: 515.25 3rd Qu.: 25680.2 3rd Qu.: 26331
## Max. :6350.00 Max. :476420.0 Max. :482750
##
attach(who)
#check linear relationship between the LifeExp variable and other independent variables
#curvilinear relationship with LifeExp: InfantSurvival, Under5Survival and TBFree
plot(LifeExp,InfantSurvival)
plot(LifeExp,Under5Survival)
plot(LifeExp,TBFree)
#linear relationship with LifeExp: PropMD, PropRN
plot(LifeExp,PropMD)
plot(LifeExp,PropRN)
#linear relationship with LifeExp: PersExp, GovtExp, TotExpTotExp
plot(LifeExp,PersExp)
plot(LifeExp,GovtExp)
plot(LifeExp,TotExp)
library("car")
## Warning: package 'car' was built under R version 3.4.4
## Loading required package: carData
## Warning: package 'carData' was built under R version 3.4.4
scatterplotMatrix(who[6:10])
#boxplot of variables for checking outliners
lmts<- range(who[6:10])
boxplot(who[6:10],ylim=lmts)
Same as TotExp, PropMD and PropRN are strong collinearity. So PropRN will be picked to a model since it has stronger correlation to LifeExp.
InfantSurvival, Under5Survival and TBFree are not linear related to LifeExp so they are not going to picked to a model.
#check by corrvariance matrix
res <- cor(who[2:10])
round(res, 2)
## LifeExp InfantSurvival Under5Survival TBFree PropMD PropRN
## LifeExp 1.00 0.94 0.92 0.79 0.37 0.41
## InfantSurvival 0.94 1.00 0.99 0.75 0.32 0.37
## Under5Survival 0.92 0.99 1.00 0.74 0.30 0.35
## TBFree 0.79 0.75 0.74 1.00 0.29 0.31
## PropMD 0.37 0.32 0.30 0.29 1.00 0.71
## PropRN 0.41 0.37 0.35 0.31 0.71 1.00
## PersExp 0.54 0.43 0.39 0.37 0.34 0.55
## GovtExp 0.51 0.39 0.35 0.34 0.34 0.57
## TotExp 0.51 0.39 0.35 0.34 0.34 0.57
## PersExp GovtExp TotExp
## LifeExp 0.54 0.51 0.51
## InfantSurvival 0.43 0.39 0.39
## Under5Survival 0.39 0.35 0.35
## TBFree 0.37 0.34 0.34
## PropMD 0.34 0.34 0.34
## PropRN 0.55 0.57 0.57
## PersExp 1.00 0.97 0.97
## GovtExp 0.97 1.00 1.00
## TotExp 0.97 1.00 1.00
#model1:
simple_lm <-lm(LifeExp~TotExp)
plot(simple_lm)
#model2:
multip_lm <- lm(LifeExp~PropMD+TotExp)
plot(multip_lm)
par(mfrow=c(1,2))
#model1
summary(simple_lm)
##
## Call:
## lm(formula = LifeExp ~ TotExp)
##
## Residuals:
## Min 1Q Median 3Q Max
## -24.764 -4.778 3.154 7.116 13.292
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.475e+01 7.535e-01 85.933 < 2e-16 ***
## TotExp 6.297e-05 7.795e-06 8.079 7.71e-14 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 9.371 on 188 degrees of freedom
## Multiple R-squared: 0.2577, Adjusted R-squared: 0.2537
## F-statistic: 65.26 on 1 and 188 DF, p-value: 7.714e-14
LifeExp =simple_lm$coefficients[[1]] + simple_lm$coefficients[[1]]*TotExp
#model2
summary(multip_lm)
##
## Call:
## lm(formula = LifeExp ~ PropMD + TotExp)
##
## Residuals:
## Min 1Q Median 3Q Max
## -23.996 -4.880 3.042 6.958 13.415
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.397e+01 7.706e-01 83.012 < 2e-16 ***
## PropMD 6.508e+02 1.946e+02 3.344 0.000998 ***
## TotExp 5.378e-05 8.074e-06 6.661 2.95e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 9.127 on 187 degrees of freedom
## Multiple R-squared: 0.2996, Adjusted R-squared: 0.2921
## F-statistic: 39.99 on 2 and 187 DF, p-value: 3.479e-15
LifeExp =multip_lm$coefficients[[1]] + multip_lm$coefficients[[2]]*PropMD + multip_lm$coefficients[[3]]*TotExp