R version 2.15.2 (2012-10-26) -- "Trick or Treat" Copyright (C) 2012 The R Foundation for Statistical Computing ISBN 3-900051-07-0 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(0.439620618 + ,65.2261159 + ,0.415578668 + ,66.18192324 + ,0.374927888 + ,68.51084108 + ,0.347499866 + ,70.33722683 + ,0.327363973 + ,71.143908 + ,0.30912795 + ,71.73414119 + ,0.294782014 + ,71.99927612 + ,0.271568014 + ,73.59456359 + ,0.24362019 + ,76.89891122 + ,0.219233356 + ,78.58059708 + ,0.198928656 + ,81.23539893 + ,0.153201781 + ,90.76678766 + ,0.136500202 + ,92.88460144 + ,0.1247118 + ,93.66937745 + ,0.125838095 + ,88.60410226 + ,0.136887675 + ,79.25341207 + ,0.124547993 + ,77.2465582 + ,0.107159561 + ,81.65647728 + ,0.104998434 + ,79.13140312 + ,0.107308572 + ,75.54106548 + ,0.104528533 + ,73.37597484 + ,0.08088668 + ,76.58704251 + ,0.059476192 + ,86.94640339 + ,0.053914856 + ,92.58089844 + ,0.051123828 + ,92.06547505 + ,0.046363275 + ,94.67242843 + ,0.044694892 + ,94.25869487 + ,0.040634361 + ,99.41227085 + ,0.038625779 + ,98.61304918 + ,0.040071656 + ,96.84902718 + ,0.039128976 + ,95.23722912 + ,0.03841219 + ,96.77880196 + ,0.037037037 + ,96.9227634 + ,0.034563019 + ,99.45702834 + ,0.033502125 + ,99.64352421 + ,0.034427132 + ,98.73290651 + ,0.032522094 + ,99.24435175 + ,0.028919522 + ,106.3037831 + ,0.028209468 + ,106.1372524 + ,0.030091905 + ,104.0509283 + ,0.031718983 + ,101.0545734 + ,0.032220944 + ,100 + ,0.030558106 + ,100.8805611 + ,0.028205662 + ,101.6755514 + ,0.023910542 + ,106.8457317) + ,dim=c(2 + ,45) + ,dimnames=list(c('ConsOV' + ,'Pov') + ,1:45)) > y <- array(NA,dim=c(2,45),dimnames=list(c('ConsOV','Pov'),1:45)) > 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 = 'Y Variable Name' > xlab = 'X Variable Name' > main = 'Title Goes Here' > par3 <- 'TRUE' > par2 <- '2' > par1 <- '1' > #'GNU S' R Code compiled by R2WASP v. 1.2.291 () > #Author: aston2 > #To cite this work: Ian E. Holliday, 2012, Simple Linear Regression (v1.0.5) in Free Statistics Software (v$_version), Office for Research Development and Education, URL http://www.wessa.net/Ian.Holliday/rwasp_Simple%20Regression%20Y%20~%20X.wasp/ > #Source of accompanying publication: > # > 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] "ConsOV" > (V2<-dimnames(y)[[1]][cat2]) [1] "Pov" > 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 0.852996 -0.008251 > sumlmxdf<-summary(lmxdf) > (aov.xdf<-aov(lmxdf) ) Call: aov(formula = lmxdf) Terms: X Residuals Sum of Squares 0.4719695 0.1600274 Deg. of Freedom 1 43 Residual standard error: 0.06100465 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 0.47197 0.47197 126.82 2.078e-14 *** Residuals 43 0.16003 0.00372 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 > > #Note: the /var/wessaorg/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab > load(file="/var/wessaorg/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) + } + a<-table.row.end(a) + } > 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/wessaorg/rcomp/tmp/1ajr31356031667.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/wessaorg/rcomp/tmp/2zxnu1356031667.tab") > postscript(file="/var/wessaorg/rcomp/tmp/3omy31356031667.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/wessaorg/rcomp/tmp/4a0cs1356031667.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/wessaorg/rcomp/tmp/59b9u1356031667.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/wessaorg/rcomp/tmp/6c79k1356031667.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/3omy31356031667.ps tmp/3omy31356031667.png",intern=TRUE)) character(0) > try(system("convert tmp/4a0cs1356031667.ps tmp/4a0cs1356031667.png",intern=TRUE)) character(0) > try(system("convert tmp/59b9u1356031667.ps tmp/59b9u1356031667.png",intern=TRUE)) character(0) > try(system("convert tmp/6c79k1356031667.ps tmp/6c79k1356031667.png",intern=TRUE)) character(0) > > > proc.time() user system elapsed 2.347 0.506 2.895