R version 2.8.0 (2008-10-20) Copyright (C) 2008 The R Foundation for Statistical Computing ISBN 3-900051-07-0 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. Natural language support but running in an English locale 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 = '4' > par1 = '1' > ylab = 'Y Variable Name' > xlab = 'X Variable Name' > main = 'Title Goes Here' > 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] "Grade" > 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 81.2967 0.3796 > sumlmxdf<-summary(lmxdf) > (aov.xdf<-aov(lmxdf) ) Call: aov(formula = lmxdf) Terms: X Residuals Sum of Squares 3852.596 10291.847 Deg. of Freedom 1 86 Residual standard error: 10.9395 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 3852.6 3852.6 32.193 1.843e-07 *** Residuals 86 10291.8 119.7 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 > > #Note: the /var/www/html/freestat/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab > load(file="/var/www/html/freestat/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/www/html/freestat/rcomp/tmp/16kmy1296325928.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/www/html/freestat/rcomp/tmp/2tkb51296325928.tab") > postscript(file="/var/www/html/freestat/rcomp/tmp/3hqjp1296325928.ps",horizontal=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) > postscript(file="/var/www/html/freestat/rcomp/tmp/45g851296325928.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > qq.plot(resid(lmxdf), main='QQplot of Residuals of Fit') > dev.off() null device 1 > postscript(file="/var/www/html/freestat/rcomp/tmp/5hm9w1296325928.ps",horizontal=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/www/html/freestat/rcomp/tmp/6o3w01296325928.ps",horizontal=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/3hqjp1296325928.ps tmp/3hqjp1296325928.png",intern=TRUE)) character(0) > try(system("convert tmp/45g851296325928.ps tmp/45g851296325928.png",intern=TRUE)) character(0) > try(system("convert tmp/5hm9w1296325928.ps tmp/5hm9w1296325928.png",intern=TRUE)) character(0) > try(system("convert tmp/6o3w01296325928.ps tmp/6o3w01296325928.png",intern=TRUE)) character(0) > > > proc.time() user system elapsed 1.390 0.864 1.628