R version 3.0.2 (2013-09-25) -- "Frisbee Sailing" Copyright (C) 2013 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-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. > > RC.capture <- function (expression, collapse = NULL) { + resultConn <- textConnection('RC.resultText', open = 'w', local=TRUE) + sink(resultConn) + on.exit(function() { + sink() + close(resultConn) + }) + expression + on.exit(NULL) + sink() + close(resultConn) + return(paste(c(RC.resultText, ''), collapse = collapse, sep = '')) + } > RC.texteval <- function (sourceText, collapse = NULL, echo = TRUE) { + sourceConn <- textConnection(sourceText, open = 'r') + on.exit(close(sourceConn)) + result <- RC.capture(source(file = sourceConn, local = FALSE, echo = echo, print.eval = TRUE), collapse = collapse) + on.exit(NULL) + close(sourceConn) + res <- '' + for(i in 1:length(result)) { + if (result[i]!='') res <- paste(res,result[i],' + ',sep='') + } + return(res) + } > y <- c(16.7,10,15.2,15.9,13.2,11.4,9.7,20.7,9.2,11.1,14.4,8.6,9.9,11.5,12.6,11.3,12.5,14.8,18.3,12.6,9.7,10.1,12,8.1,20.1,11.6,13.8,9.5,10.6,5.6,6.8,17.9,14.5,13.1,11.2,12.3,15.6,12,11.2,12.1,15,11.8,15,16.2,9.2,7.6,9.2,10.2,15.4,10.2,10.6) > x <- c(57.89,7.69,32,71.05,38.46,32.35,41.03,100,51.28,57.89,73.68,84.62,33.33,38.46,23.08,25.64,16.22,64.1,63.16,23.08,64.1,46.15,28.21,44.74,59.46,56.41,36.67,19.44,43.24,25.64,51.28,52,48.72,65.79,16.67,28.21,38.46,34.21,33.33,46.15,57.89,13.33,60.53,64.86,27.59,15.38,54.05,50,54.05,35.9,26.67) > ylab = 'Poverty rate' > xlab = '% of Democrat voting over time' > main = 'Scatterplot and histograms' > #'GNU S' R Code compiled by R2WASP v. 1.2.327 () > #Author: root > #To cite this work: Wessa P., (2014), Pearson Correlation (v1.0.9) in Free Statistics Software (v$_version), Office for Research Development and Education, URL http://www.wessa.net/rwasp_correlation.wasp/ > #Source of accompanying publication: Office for Research, Development, and Education > # > x <- x[!is.na(y)] > y <- y[!is.na(y)] > y <- y[!is.na(x)] > x <- x[!is.na(x)] > postscript(file="/var/wessaorg/rcomp/tmp/1bo651411136689.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=8.3333333333333) > histx <- hist(x, plot=FALSE) > histy <- hist(y, plot=FALSE) > maxcounts <- max(c(histx$counts, histx$counts)) > xrange <- c(min(x),max(x)) > yrange <- c(min(y),max(y)) > nf <- layout(matrix(c(2,0,1,3),2,2,byrow=TRUE), c(3,1), c(1,3), TRUE) > par(mar=c(4,4,1,1)) > plot(x, y, xlim=xrange, ylim=yrange, xlab=xlab, ylab=ylab, sub=main) > par(mar=c(0,4,1,1)) > barplot(histx$counts, axes=FALSE, ylim=c(0, maxcounts), space=0) > par(mar=c(4,0,1,1)) > barplot(histy$counts, axes=FALSE, xlim=c(0, maxcounts), space=0, horiz=TRUE) > dev.off() null device 1 > lx = length(x) > makebiased = (lx-1)/lx > varx = var(x)*makebiased > vary = var(y)*makebiased > corxy <- cor.test(x,y,method='pearson', na.rm = T) > cxy <- as.matrix(corxy$estimate)[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() > a<-table.row.start(a) > a<-table.element(a,'Pearson Product Moment Correlation - Ungrouped Data',3,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Statistic',1,TRUE) > a<-table.element(a,'Variable X',1,TRUE) > a<-table.element(a,'Variable Y',1,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,hyperlink('http://www.xycoon.com/arithmetic_mean.htm','Mean',''),header=TRUE) > a<-table.element(a,mean(x)) > a<-table.element(a,mean(y)) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,hyperlink('http://www.xycoon.com/biased.htm','Biased Variance',''),header=TRUE) > a<-table.element(a,varx) > a<-table.element(a,vary) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,hyperlink('http://www.xycoon.com/biased1.htm','Biased Standard Deviation',''),header=TRUE) > a<-table.element(a,sqrt(varx)) > a<-table.element(a,sqrt(vary)) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,hyperlink('http://www.xycoon.com/covariance.htm','Covariance',''),header=TRUE) > a<-table.element(a,cov(x,y),2) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,hyperlink('http://www.xycoon.com/pearson_correlation.htm','Correlation',''),header=TRUE) > a<-table.element(a,cxy,2) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,hyperlink('http://www.xycoon.com/coeff_of_determination.htm','Determination',''),header=TRUE) > a<-table.element(a,cxy*cxy,2) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,hyperlink('http://www.xycoon.com/ttest_statistic.htm','T-Test',''),header=TRUE) > a<-table.element(a,as.matrix(corxy$statistic)[1,1],2) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'p-value (2 sided)',header=TRUE) > a<-table.element(a,(p2 <- as.matrix(corxy$p.value)[1,1]),2) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'p-value (1 sided)',header=TRUE) > a<-table.element(a,p2/2,2) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Degrees of Freedom',header=TRUE) > a<-table.element(a,lx-2,2) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Number of Observations',header=TRUE) > a<-table.element(a,lx,2) > a<-table.row.end(a) > a<-table.end(a) > table.save(a,file="/var/wessaorg/rcomp/tmp/2q9g31411136689.tab") > library(moments) > library(nortest) > jarque.x <- jarque.test(x) > jarque.y <- jarque.test(y) > if(lx>7) { + ad.x <- ad.test(x) + ad.y <- ad.test(y) + } > a<-table.start() > a<-table.row.start(a) > a<-table.element(a,'Normality Tests',1,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,paste('
',RC.texteval('jarque.x'),'
',sep='')) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,paste('
',RC.texteval('jarque.y'),'
',sep='')) > a<-table.row.end(a) > if(lx>7) { + a<-table.row.start(a) + a<-table.element(a,paste('
',RC.texteval('ad.x'),'
',sep='')) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,paste('
',RC.texteval('ad.y'),'
',sep='')) + a<-table.row.end(a) + } > a<-table.end(a) > table.save(a,file="/var/wessaorg/rcomp/tmp/3koxx1411136689.tab") > library(car) > postscript(file="/var/wessaorg/rcomp/tmp/4p8v41411136689.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=8.3333333333333) > qq.plot(x,main='QQplot of variable x') 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/59jia1411136689.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=8.3333333333333) > qq.plot(y,main='QQplot of variable y') Warning message: 'qq.plot' is deprecated. Use 'qqPlot' instead. See help("Deprecated") and help("car-deprecated"). > dev.off() null device 1 > > try(system("convert tmp/1bo651411136689.ps tmp/1bo651411136689.png",intern=TRUE)) character(0) > try(system("convert tmp/4p8v41411136689.ps tmp/4p8v41411136689.png",intern=TRUE)) character(0) > try(system("convert tmp/59jia1411136689.ps tmp/59jia1411136689.png",intern=TRUE)) character(0) > > > proc.time() user system elapsed 1.302 0.266 1.567