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(56.6,55.3,56.6,57.1,57.4,56.8,55.5,57.2,57.6,57.0,55.4,56.0,56.4,55.0,55.7,55.5,55.7,56.2,57.1,57.4,57.5,58.1,57.0,56.6,57.0,57.9,57.7,56.1,56.9,58.1,59.5,60.0,58.9,58.7,57.6,58.4,59.7,60.3,60.8,61.6,62.4,62.8,62.5,61.6,61.4,61.7,62.7,62.9,63.4,63.9,64.2,64.2,64.2,63.5,63.0,62.0,62.3,62.8,63.1,62.9,61.9,58.7,58.5,58.4,58.6,58.6,59.0) > x <- c(86.45,82.13,82.13,91,91,92,92,91,91,91,91,91,91,91,91,91,91,77,70,70,70,75.25,77,71.75,70,70,70,70,70,70,70,70,70,70,69.13,50,50,50,50,50,38.5,28,28,28,31,31,39.6,39.6,39.6,39.6,39.6,39.6,39.6,39.6,39.1,38.6,35,35,35,35,35,35,35,35,35,39.5,39.5) > ylab = 'Employment' > xlab = 'Top marginal rate' > 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/1mntq1413921542.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/24hjm1413921542.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/3haqh1413921542.tab") > library(car) > postscript(file="/var/wessaorg/rcomp/tmp/4y9yh1413921542.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/5o8rv1413921542.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/1mntq1413921542.ps tmp/1mntq1413921542.png",intern=TRUE)) character(0) > try(system("convert tmp/4y9yh1413921542.ps tmp/4y9yh1413921542.png",intern=TRUE)) character(0) > try(system("convert tmp/5o8rv1413921542.ps tmp/5o8rv1413921542.png",intern=TRUE)) character(0) > > > proc.time() user system elapsed 1.352 0.249 1.604