> > bf.mod1 <- lm(Y~X1) # Simple Regression of Y on X1 > summary(bf.mod1) Call: lm(formula = Y ~ X1) Residuals: Min 1Q Median 3Q Max -6.1195 -2.1904 0.6735 1.9383 3.8523 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -1.4961 3.3192 -0.451 0.658 X1 0.8572 0.1288 6.656 3.02e-06 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 2.82 on 18 degrees of freedom Multiple R-squared: 0.7111, Adjusted R-squared: 0.695 F-statistic: 44.3 on 1 and 18 DF, p-value: 3.024e-06 > eY1 <- residuals(bf.mod1) # Obtain e(Y|X1) > > bf.mod2 <- lm(Y~X2) # Simple Regression of Y on X2 > summary(bf.mod2) Call: lm(formula = Y ~ X2) Residuals: Min 1Q Median 3Q Max -4.4949 -1.5671 0.1241 1.3362 4.4084 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -23.6345 5.6574 -4.178 0.000566 *** X2 0.8565 0.1100 7.786 3.6e-07 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 2.51 on 18 degrees of freedom Multiple R-squared: 0.771, Adjusted R-squared: 0.7583 F-statistic: 60.62 on 1 and 18 DF, p-value: 3.6e-07 > eY2 <- residuals(bf.mod2) # Obtain e(Y|X2) > > bf.mod12 <- lm(Y~X1+X2) # Multiple Regression of Y on X1,X2 > summary(bf.mod12) Call: lm(formula = Y ~ X1 + X2) Residuals: Min 1Q Median 3Q Max -3.9469 -1.8807 0.1678 1.3367 4.0147 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -19.1742 8.3606 -2.293 0.0348 * X1 0.2224 0.3034 0.733 0.4737 X2 0.6594 0.2912 2.265 0.0369 * --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 2.543 on 17 degrees of freedom Multiple R-squared: 0.7781, Adjusted R-squared: 0.7519 F-statistic: 29.8 on 2 and 17 DF, p-value: 2.774e-06 > eY12 <- residuals(bf.mod12) # Obtain e(Y|X1,X2) > Yhat12 <- predict(bf.mod12) # Obtain fitted (Predicted) values Yhat(X1,X2) > sse12 <- deviance(bf.mod12) # Obtain SSE(X1,X2) > mse12 <- sse12/df.residual(bf.mod12) # Obtain MSE(X1,X2) > tY12_r <- rstudent(bf.mod12) # Obtain Studentized Deleted Residuals from lm functiom > inf.mod2 <- influence.measures(bf.mod12) # Obtain various influence statistics from bf.mod12 > h12 <- influence(bf.mod12)$hat # Obtain the hat values for each case for bf.mod12 > > tY12 <- eY12*sqrt((df.residual(bf.mod12)-1)/(sse12*(1-h12)-eY12^2)) # Directly compute Deleted Studentized residuals > > print(round(cbind(eY12,h12,tY12,tY12_r),3)) eY12 h12 tY12 tY12_r 1 -1.683 0.201 -0.730 -0.730 2 3.643 0.059 1.534 1.534 3 -3.176 0.372 -1.654 -1.654 4 -3.158 0.111 -1.348 -1.348 5 0.000 0.248 0.000 0.000 6 -0.361 0.129 -0.148 -0.148 7 0.716 0.156 0.298 0.298 8 4.015 0.096 1.760 1.760 9 2.655 0.115 1.118 1.118 10 -2.475 0.110 -1.034 -1.034 11 0.336 0.120 0.137 0.137 12 2.226 0.109 0.923 0.923 13 -3.947 0.178 -1.826 -1.826 14 3.447 0.148 1.525 1.525 15 0.571 0.333 0.267 0.267 16 0.642 0.095 0.258 0.258 17 -0.851 0.106 -0.345 -0.345 18 -0.783 0.197 -0.334 -0.334 19 -2.857 0.067 -1.176 -1.176 20 1.040 0.050 0.409 0.409 > > > > par(mfrow=c(2,2)) # Set plotting area to have 2 rows and 2 columns (4 plots per page) > > plot(X1,eY1,xlab="X1", ylab="residual", main="Residual plot vs X1") > abline(h=0,lty=2) # Add line at e=0 > > plot(residuals(lm(X1~X2)),residuals(lm(Y~X2)), xlab="e(X1|X2)", ylab="e(Y|X2)",main="Added Variable Plot - X1") > abline(h=0,lty=2) # Add line at e=0 > abline(lm(residuals(lm(Y~X2)) ~ -1 + residuals(lm(X1~X2)))) # Add regression line (through origin) e(Y|X1) = b*E(X1|X2) > > plot(X2,eY2,xlab="X2", ylab="residual", main="Residual plot vs X2") > abline(h=0) > > plot(residuals(lm(X2~X1)),residuals(lm(Y~X1)), xlab="e(X2|X1)", ylab="e(Y|X1)",main="Added Variable Plot - X2") > abline(h=0) > abline(lm(residuals(lm(Y~X1)) ~ -1 + residuals(lm(X2~X1)))) > > par(mfrow=c(1,1)) # Set plotting area back to 1 plot per page > plot(X1,X2,xlab="Triceps Skinfold Thickness",ylab="Thigh Circumference") # Scatterplot of X1,X2 for outlying X cases > > inf.mod2 # Print out results from influence measures Influence measures of lm(formula = Y ~ X1 + X2) : dfb.1_ dfb.X1 dfb.X2 dffit cov.r cook.d hat inf 1 -3.05e-01 -1.31e-01 2.32e-01 -3.66e-01 1.361 4.60e-02 0.2010 2 1.73e-01 1.15e-01 -1.43e-01 3.84e-01 0.844 4.55e-02 0.0589 3 -8.47e-01 -1.18e+00 1.07e+00 -1.27e+00 1.189 4.90e-01 0.3719 * 4 -1.02e-01 -2.94e-01 1.96e-01 -4.76e-01 0.977 7.22e-02 0.1109 5 -6.37e-05 -3.05e-05 5.02e-05 -7.29e-05 1.595 1.88e-09 0.2480 * 6 3.97e-02 4.01e-02 -4.43e-02 -5.67e-02 1.371 1.14e-03 0.1286 7 -7.75e-02 -1.56e-02 5.43e-02 1.28e-01 1.397 5.76e-03 0.1555 8 2.61e-01 3.91e-01 -3.32e-01 5.75e-01 0.780 9.79e-02 0.0963 9 -1.51e-01 -2.95e-01 2.47e-01 4.02e-01 1.081 5.31e-02 0.1146 10 2.38e-01 2.45e-01 -2.69e-01 -3.64e-01 1.110 4.40e-02 0.1102 11 -9.02e-03 1.71e-02 -2.48e-03 5.05e-02 1.359 9.04e-04 0.1203 12 -1.30e-01 2.25e-02 7.00e-02 3.23e-01 1.152 3.52e-02 0.1093 13 1.19e-01 5.92e-01 -3.89e-01 -8.51e-01 0.827 2.12e-01 0.1784 14 4.52e-01 1.13e-01 -2.98e-01 6.36e-01 0.937 1.25e-01 0.1480 15 -3.00e-03 -1.25e-01 6.88e-02 1.89e-01 1.775 1.26e-02 0.3332 * 16 9.31e-03 4.31e-02 -2.51e-02 8.38e-02 1.309 2.47e-03 0.0953 17 7.95e-02 5.50e-02 -7.61e-02 -1.18e-01 1.312 4.93e-03 0.1056 18 1.32e-01 7.53e-02 -1.16e-01 -1.66e-01 1.462 9.64e-03 0.1968 19 -1.30e-01 -4.07e-03 6.44e-02 -3.15e-01 1.002 3.24e-02 0.0670 20 1.02e-02 2.29e-03 -3.31e-03 9.40e-02 1.224 3.10e-03 0.0501 > > dffits <- tY12*sqrt(h12/(1-h12)) # Directly compute DFFITS > cooksd <- ((eY12^2)/(3*mse12))*(h12/(1-h12)^2) # Directly compute Cook's Distance > > print(round(cbind(dffits,cooksd),3)) dffits cooksd 1 -0.366 0.046 2 0.384 0.045 3 -1.273 0.490 4 -0.476 0.072 5 0.000 0.000 6 -0.057 0.001 7 0.128 0.006 8 0.575 0.098 9 0.402 0.053 10 -0.364 0.044 11 0.051 0.001 12 0.323 0.035 13 -0.851 0.212 14 0.636 0.125 15 0.189 0.013 16 0.084 0.002 17 -0.118 0.005 18 -0.166 0.010 19 -0.315 0.032 20 0.094 0.003 > > install.packages("DAAG") Installing package(s) into ‘C:/Users/Larry/Documents/R/win-library/2.15’ (as ‘lib’ is unspecified) Warning: package ‘DAAG’ is in use and will not be installed > library(DAAG) # VIF option included in DAAG package > bf.mod123 <- lm(Y ~ X1 + X2 + X3) # Multiple Regression of Y on X1,X2,X3 > summary(bf.mod123) Call: lm(formula = Y ~ X1 + X2 + X3) Residuals: Min 1Q Median 3Q Max -3.7263 -1.6111 0.3923 1.4656 4.1277 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 117.085 99.782 1.173 0.258 X1 4.334 3.016 1.437 0.170 X2 -2.857 2.582 -1.106 0.285 X3 -2.186 1.595 -1.370 0.190 Residual standard error: 2.48 on 16 degrees of freedom Multiple R-squared: 0.8014, Adjusted R-squared: 0.7641 F-statistic: 21.52 on 3 and 16 DF, p-value: 7.343e-06 > (bf.vif <- vif(bf.mod123)) # Obtain VIF1,VIF2,VIF3 X1 X2 X3 708.84 564.34 104.61 >