source('../../Data/data_loaders.R') DF = load_exercise_3_4_data() # Part (a): # m1 = lm( Y ~ X, data=DF ) #postscript("../../WriteUp/Graphics/Chapter3/ex_3_4_part_a.eps", onefile=FALSE, horizontal=FALSE) par(mfrow=c(1,2)) plot( DF$X, DF$Y, type='p', pch=19, cex=1.5, xlab='X', ylab='Y' ) abline(m1, col='red') grid() plot(m1, which=1) par(mfrow=c(1,1)) #dev.off() m2 = lm( Y ~ X + I(X^2), data=DF ) anova( m1, m2 ) #postscript("../../WriteUp/Graphics/Chapter3/ex_3_4_part_a_linear_N_quadratic.eps", onefile=FALSE, horizontal=FALSE) par(mfrow=c(1,2)) plot( DF$Y, m1$residuals, type='p', pch=19, cex=1.5, xlab='Y', ylab='residuals', main='linear fit' ) grid() plot( DF$Y, m2$residuals, type='p', pch=19, cex=1.5, xlab='Y', ylab='residuals', main='quadratic fit' ) grid() par(mfrow=c(1,1)) #dev.off() # Part (b): # DF$Y_OVER_X = DF$Y / DF$X m_y_over_x = lm( Y_OVER_X ~ X, data=DF ) plot( DF$Y, m_y_over_x$residuals, type='p', pch=19, cex=1.5, xlab='Y', ylab='residuals', main='y/x fit' ) grid() # Part (c): # predict( m1, newdata=data.frame( X=c( 1 ) ), interval='prediction' ) 1 * predict( m_y_over_x, newdata=data.frame( X=c( 1 ) ), interval='prediction' ) # Part (d): # summary(m1)$r.squared summary(m_y_over_x)$r.squared