R version 3.0.2 (2013-09-25) -- "Frisbee Sailing" Copyright (C) 2013 The R Foundation for Statistical Computing Platform: i686-pc-linux-gnu (32-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > x <- array(list(111 + ,45 + ,27 + ,52 + ,102 + ,50 + ,18 + ,55 + ,108 + ,49 + ,19 + ,80 + ,109 + ,55 + ,20 + ,45 + ,118 + ,39 + ,29 + ,60 + ,79 + ,68 + ,46 + ,34 + ,88 + ,69 + ,27 + ,45 + ,102 + ,56 + ,23 + ,68 + ,105 + ,58 + ,29 + ,26 + ,92 + ,48 + ,38 + ,70 + ,131 + ,34 + ,20 + ,85 + ,104 + ,50 + ,37 + ,54 + ,83 + ,76 + ,32 + ,55 + ,84 + ,49 + ,26 + ,40 + ,85 + ,51 + ,40 + ,55 + ,110 + ,53 + ,30 + ,50 + ,121 + ,36 + ,26 + ,71 + ,120 + ,62 + ,23 + ,55 + ,100 + ,46 + ,27 + ,70 + ,94 + ,50 + ,38 + ,55 + ,89 + ,47 + ,25 + ,60 + ,93 + ,50 + ,33 + ,65 + ,128 + ,44 + ,45 + ,66 + ,84 + ,50 + ,34 + ,55 + ,127 + ,29 + ,20 + ,90 + ,106 + ,49 + ,24 + ,55 + ,129 + ,26 + ,26 + ,60 + ,82 + ,79 + ,26 + ,35 + ,106 + ,53 + ,39 + ,55 + ,109 + ,53 + ,27 + ,26 + ,91 + ,72 + ,18 + ,14 + ,111 + ,35 + ,34 + ,45 + ,105 + ,42 + ,25 + ,35 + ,118 + ,37 + ,26 + ,65 + ,103 + ,46 + ,28 + ,35 + ,101 + ,48 + ,21 + ,60 + ,101 + ,46 + ,39 + ,60 + ,95 + ,49 + ,25 + ,60 + ,108 + ,65 + ,29 + ,65 + ,95 + ,52 + ,37 + ,45 + ,98 + ,75 + ,34 + ,20 + ,82 + ,58 + ,30 + ,50 + ,100 + ,43 + ,28 + ,60 + ,100 + ,60 + ,25 + ,48 + ,107 + ,43 + ,27 + ,40 + ,95 + ,51 + ,33 + ,55 + ,97 + ,70 + ,30 + ,54 + ,93 + ,69 + ,26 + ,40 + ,81 + ,65 + ,18 + ,40 + ,89 + ,63 + ,21 + ,34 + ,111 + ,44 + ,39 + ,60 + ,95 + ,61 + ,36 + ,30 + ,106 + ,40 + ,32 + ,75 + ,83 + ,62 + ,23 + ,24 + ,81 + ,59 + ,27 + ,30 + ,115 + ,47 + ,45 + ,80 + ,112 + ,50 + ,24 + ,60 + ,92 + ,50 + ,29 + ,46 + ,85 + ,65 + ,21 + ,35 + ,95 + ,54 + ,28 + ,60 + ,115 + ,44 + ,37 + ,75 + ,91 + ,66 + ,22 + ,54 + ,107 + ,34 + ,31 + ,78 + ,102 + ,74 + ,32 + ,20 + ,86 + ,57 + ,20 + ,45 + ,96 + ,60 + ,33 + ,60 + ,114 + ,36 + ,32 + ,70 + ,105 + ,50 + ,18 + ,35 + ,82 + ,60 + ,44 + ,20 + ,120 + ,45 + ,24 + ,60 + ,88 + ,55 + ,21 + ,20 + ,90 + ,44 + ,29 + ,50 + ,85 + ,57 + ,30 + ,50 + ,106 + ,33 + ,37 + ,75 + ,109 + ,30 + ,33 + ,70 + ,75 + ,64 + ,25 + ,20 + ,91 + ,49 + ,19 + ,45 + ,96 + ,76 + ,16 + ,20 + ,108 + ,40 + ,31 + ,50 + ,86 + ,48 + ,29 + ,55 + ,98 + ,65 + ,37 + ,15 + ,99 + ,50 + ,41 + ,26 + ,95 + ,70 + ,28 + ,25 + ,88 + ,78 + ,19 + ,30 + ,111 + ,44 + ,28 + ,60 + ,103 + ,48 + ,33 + ,40 + ,107 + ,52 + ,32 + ,40 + ,118 + ,40 + ,28 + ,50) + ,dim=c(4 + ,88) + ,dimnames=list(c('IQ' + ,'Add' + ,'MumAge' + ,'Grade') + ,1:88)) > y <- array(NA,dim=c(4,88),dimnames=list(c('IQ','Add','MumAge','Grade'),1:88)) > for (i in 1:dim(x)[1]) + { + for (j in 1:dim(x)[2]) + { + y[i,j] <- as.numeric(x[i,j]) + } + } > par3 = 'TRUE' > par2 = '2' > par1 = '1' > ylab = 'Grade' > xlab = 'IQ' > main = 'Linear Regression Exercise' > cat1 <- as.numeric(par1) # > cat2<- as.numeric(par2) # > intercept<-as.logical(par3) > x <- t(x) > xdf<-data.frame(t(y)) > (V1<-dimnames(y)[[1]][cat1]) [1] "IQ" > (V2<-dimnames(y)[[1]][cat2]) [1] "Add" > xdf <- data.frame(xdf[[cat1]], xdf[[cat2]]) > names(xdf)<-c('Y', 'X') > if(intercept == FALSE) (lmxdf<-lm(Y~ X - 1, data = xdf) ) else (lmxdf<-lm(Y~ X, data = xdf) ) Call: lm(formula = Y ~ X, data = xdf) Coefficients: (Intercept) X 135.1629 -0.6674 > sumlmxdf<-summary(lmxdf) > (aov.xdf<-aov(lmxdf) ) Call: aov(formula = lmxdf) Terms: X Residuals Sum of Squares 5597.714 8546.730 Deg. of Freedom 1 86 Residual standard error: 9.968981 Estimated effects may be unbalanced > (anova.xdf<-anova(lmxdf) ) Analysis of Variance Table Response: Y Df Sum Sq Mean Sq F value Pr(>F) X 1 5597.7 5597.7 56.326 5.244e-11 *** Residuals 86 8546.7 99.4 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 > > #Note: the /var/fisher/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab > load(file="/var/fisher/rcomp/createtable") > > a<-table.start() > nc <- ncol(sumlmxdf$'coefficients') > nr <- nrow(sumlmxdf$'coefficients') > a<-table.row.start(a) > a<-table.element(a,'Linear Regression Model', nc+1,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, lmxdf$call['formula'],nc+1) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'coefficients:',1,TRUE) > a<-table.element(a, ' ',nc,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, ' ',1,TRUE) > for(i in 1 : nc){ + a<-table.element(a, dimnames(sumlmxdf$'coefficients')[[2]][i],1,TRUE) + }#end header > a<-table.row.end(a) > for(i in 1: nr){ + a<-table.element(a,dimnames(sumlmxdf$'coefficients')[[1]][i] ,1,TRUE) + for(j in 1 : nc){ + a<-table.element(a, round(sumlmxdf$coefficients[i, j], digits=3), 1 ,FALSE) + }# end cols + a<-table.row.end(a) + } #end rows > a<-table.row.start(a) > a<-table.element(a, '- - - ',1,TRUE) > a<-table.element(a, ' ',nc,FALSE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'Residual Std. Err. ',1,TRUE) > a<-table.element(a, paste(round(sumlmxdf$'sigma', digits=3), ' on ', sumlmxdf$'df'[2], 'df') ,nc, FALSE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'Multiple R-sq. ',1,TRUE) > a<-table.element(a, round(sumlmxdf$'r.squared', digits=3) ,nc, FALSE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'Adjusted R-sq. ',1,TRUE) > a<-table.element(a, round(sumlmxdf$'adj.r.squared', digits=3) ,nc, FALSE) > a<-table.row.end(a) > a<-table.end(a) > table.save(a,file="/var/fisher/rcomp/tmp/1mxe01386082684.tab") > a<-table.start() > a<-table.row.start(a) > a<-table.element(a,'ANOVA Statistics', 5+1,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, ' ',1,TRUE) > a<-table.element(a, 'Df',1,TRUE) > a<-table.element(a, 'Sum Sq',1,TRUE) > a<-table.element(a, 'Mean Sq',1,TRUE) > a<-table.element(a, 'F value',1,TRUE) > a<-table.element(a, 'Pr(>F)',1,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, V2,1,TRUE) > a<-table.element(a, anova.xdf$Df[1]) > a<-table.element(a, round(anova.xdf$'Sum Sq'[1], digits=3)) > a<-table.element(a, round(anova.xdf$'Mean Sq'[1], digits=3)) > a<-table.element(a, round(anova.xdf$'F value'[1], digits=3)) > a<-table.element(a, round(anova.xdf$'Pr(>F)'[1], digits=3)) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'Residuals',1,TRUE) > a<-table.element(a, anova.xdf$Df[2]) > a<-table.element(a, round(anova.xdf$'Sum Sq'[2], digits=3)) > a<-table.element(a, round(anova.xdf$'Mean Sq'[2], digits=3)) > a<-table.element(a, ' ') > a<-table.element(a, ' ') > a<-table.row.end(a) > a<-table.end(a) > table.save(a,file="/var/fisher/rcomp/tmp/279jv1386082684.tab") > postscript(file="/var/fisher/rcomp/tmp/3bwce1386082684.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > plot(Y~ X, data=xdf, xlab=V2, ylab=V1, main='Regression Solution') > if(intercept == TRUE) abline(coef(lmxdf), col='red') > if(intercept == FALSE) abline(0.0, coef(lmxdf), col='red') > dev.off() null device 1 > library(car) Loading required package: MASS Loading required package: nnet > postscript(file="/var/fisher/rcomp/tmp/47epz1386082684.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > qq.plot(resid(lmxdf), main='QQplot of Residuals of Fit') Warning message: 'qq.plot' is deprecated. Use 'qqPlot' instead. See help("Deprecated") and help("car-deprecated"). > dev.off() null device 1 > postscript(file="/var/fisher/rcomp/tmp/5nif51386082684.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > plot(xdf$X, resid(lmxdf), main='Scatterplot of Residuals of Model Fit') > dev.off() null device 1 > postscript(file="/var/fisher/rcomp/tmp/6vapc1386082684.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > plot.lm(lmxdf, which=4) > dev.off() null device 1 > > try(system("convert tmp/3bwce1386082684.ps tmp/3bwce1386082684.png",intern=TRUE)) character(0) > try(system("convert tmp/47epz1386082684.ps tmp/47epz1386082684.png",intern=TRUE)) character(0) > try(system("convert tmp/5nif51386082684.ps tmp/5nif51386082684.png",intern=TRUE)) character(0) > try(system("convert tmp/6vapc1386082684.ps tmp/6vapc1386082684.png",intern=TRUE)) character(0) > > > proc.time() user system elapsed 4.654 1.118 5.758