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(99.2,96.7,101.0,99.0,98.1,100.1,100.0,100.0,100.0,111.6,104.9,90.6,122.2,104.9,86.5,117.6,109.5,89.7,121.1,110.8,90.6,136.0,112.3,82.8,154.2,109.3,70.1,153.6,105.3,65.4,158.5,101.7,61.3,140.6,95.4,62.5,136.2,96.4,63.6,168.0,97.6,52.6,154.3,102.4,59.7,149.0,101.6,59.5,165.5,103.8,61.3),dim=c(3,17),dimnames=list(c('Cons','Inc','Price'),1:17)) > y <- array(NA,dim=c(3,17),dimnames=list(c('Cons','Inc','Price'),1:17)) > for (i in 1:dim(x)[1]) + { + for (j in 1:dim(x)[2]) + { + y[i,j] <- as.numeric(x[i,j]) + } + } > par1 = 'kendall' > main = 'Scatter Plots and p-values' > par1 <- 'kendall' > #'GNU S' R Code compiled by R2WASP v. 1.2.327 () > #Author: root > #To cite this work: Patrick Wessa, (2013), Multivariate Correlation Matrix (v1.0.7) in Free Statistics Software (v$_version), Office for Research Development and Education, URL http://www.wessa.net/Patrick.Wessa/rwasp_pairs.wasp/ > #Source of accompanying publication: > # > panel.tau <- function(x, y, digits=2, prefix='', cex.cor) + { + usr <- par('usr'); on.exit(par(usr)) + par(usr = c(0, 1, 0, 1)) + rr <- cor.test(x, y, method=par1) + r <- round(rr$p.value,2) + txt <- format(c(r, 0.123456789), digits=digits)[1] + txt <- paste(prefix, txt, sep='') + if(missing(cex.cor)) cex <- 0.5/strwidth(txt) + text(0.5, 0.5, txt, cex = cex) + } > panel.hist <- function(x, ...) + { + usr <- par('usr'); on.exit(par(usr)) + par(usr = c(usr[1:2], 0, 1.5) ) + h <- hist(x, plot = FALSE) + breaks <- h$breaks; nB <- length(breaks) + y <- h$counts; y <- y/max(y) + rect(breaks[-nB], 0, breaks[-1], y, col='grey', ...) + } > postscript(file="/var/wessaorg/rcomp/tmp/1s6vj1386520777.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > pairs(t(y),diag.panel=panel.hist, upper.panel=panel.smooth, lower.panel=panel.tau, main=main) Warning messages: 1: In cor.test.default(x, y, method = par1) : Cannot compute exact p-value with ties 2: In cor.test.default(x, y, method = par1) : Cannot compute exact p-value with ties 3: In cor.test.default(x, y, method = par1) : Cannot compute exact p-value with ties > dev.off() null device 1 > > #Note: the /var/wessaorg/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab > load(file="/var/wessaorg/rcomp/createtable") > > n <- length(y[,1]) > n [1] 3 > a<-table.start() > a<-table.row.start(a) > a<-table.element(a,paste('Correlations for all pairs of data series (method=',par1,')',sep=''),n+1,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,' ',header=TRUE) > for (i in 1:n) { + a<-table.element(a,dimnames(t(x))[[2]][i],header=TRUE) + } > a<-table.row.end(a) > for (i in 1:n) { + a<-table.row.start(a) + a<-table.element(a,dimnames(t(x))[[2]][i],header=TRUE) + for (j in 1:n) { + r <- cor.test(y[i,],y[j,],method=par1) + a<-table.element(a,round(r$estimate,3)) + } + a<-table.row.end(a) + } Warning messages: 1: In cor.test.default(y[i, ], y[j, ], method = par1) : Cannot compute exact p-value with ties 2: In cor.test.default(y[i, ], y[j, ], method = par1) : Cannot compute exact p-value with ties 3: In cor.test.default(y[i, ], y[j, ], method = par1) : Cannot compute exact p-value with ties 4: In cor.test.default(y[i, ], y[j, ], method = par1) : Cannot compute exact p-value with ties 5: In cor.test.default(y[i, ], y[j, ], method = par1) : Cannot compute exact p-value with ties 6: In cor.test.default(y[i, ], y[j, ], method = par1) : Cannot compute exact p-value with ties 7: In cor.test.default(y[i, ], y[j, ], method = par1) : Cannot compute exact p-value with ties 8: In cor.test.default(y[i, ], y[j, ], method = par1) : Cannot compute exact p-value with ties > a<-table.end(a) > table.save(a,file="/var/wessaorg/rcomp/tmp/2hxpz1386520778.tab") > ncorrs <- (n*n -n)/2 > mycorrs <- array(0, dim=c(10,3)) > a<-table.start() > a<-table.row.start(a) > a<-table.element(a,'Correlations for all pairs of data series with p-values',4,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'pair',1,TRUE) > a<-table.element(a,'Pearson r',1,TRUE) > a<-table.element(a,'Spearman rho',1,TRUE) > a<-table.element(a,'Kendall tau',1,TRUE) > a<-table.row.end(a) > cor.test(y[1,],y[2,],method=par1) Kendall's rank correlation tau data: y[1, ] and y[2, ] z = 0.1237, p-value = 0.9016 alternative hypothesis: true tau is not equal to 0 sample estimates: tau 0.02214037 Warning message: In cor.test.default(y[1, ], y[2, ], method = par1) : Cannot compute exact p-value with ties > for (i in 1:(n-1)) + { + for (j in (i+1):n) + { + a<-table.row.start(a) + dum <- paste(dimnames(t(x))[[2]][i],';',dimnames(t(x))[[2]][j],sep='') + a<-table.element(a,dum,header=TRUE) + rp <- cor.test(y[i,],y[j,],method='pearson') + a<-table.element(a,round(rp$estimate,4)) + rs <- cor.test(y[i,],y[j,],method='spearman') + a<-table.element(a,round(rs$estimate,4)) + rk <- cor.test(y[i,],y[j,],method='kendall') + a<-table.element(a,round(rk$estimate,4)) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'p-value',header=T) + a<-table.element(a,paste('(',round(rp$p.value,4),')',sep='')) + a<-table.element(a,paste('(',round(rs$p.value,4),')',sep='')) + a<-table.element(a,paste('(',round(rk$p.value,4),')',sep='')) + a<-table.row.end(a) + for (iii in 1:10) { + iiid100 <- iii / 100 + if (rp$p.value < iiid100) mycorrs[iii, 1] = mycorrs[iii, 1] + 1 + if (rs$p.value < iiid100) mycorrs[iii, 2] = mycorrs[iii, 2] + 1 + if (rk$p.value < iiid100) mycorrs[iii, 3] = mycorrs[iii, 3] + 1 + } + } + } Warning messages: 1: In cor.test.default(y[i, ], y[j, ], method = "spearman") : Cannot compute exact p-value with ties 2: In cor.test.default(y[i, ], y[j, ], method = "kendall") : Cannot compute exact p-value with ties 3: In cor.test.default(y[i, ], y[j, ], method = "spearman") : Cannot compute exact p-value with ties 4: In cor.test.default(y[i, ], y[j, ], method = "kendall") : Cannot compute exact p-value with ties 5: In cor.test.default(y[i, ], y[j, ], method = "spearman") : Cannot compute exact p-value with ties 6: In cor.test.default(y[i, ], y[j, ], method = "kendall") : Cannot compute exact p-value with ties > a<-table.end(a) > table.save(a,file="/var/wessaorg/rcomp/tmp/3mngj1386520778.tab") > a<-table.start() > a<-table.row.start(a) > a<-table.element(a,'Meta Analysis of Correlation Tests',4,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Number of significant by total number of Correlations',4,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Type I error',1,TRUE) > a<-table.element(a,'Pearson r',1,TRUE) > a<-table.element(a,'Spearman rho',1,TRUE) > a<-table.element(a,'Kendall tau',1,TRUE) > a<-table.row.end(a) > for (iii in 1:10) { + iiid100 <- iii / 100 + a<-table.row.start(a) + a<-table.element(a,round(iiid100,2),header=T) + a<-table.element(a,round(mycorrs[iii,1]/ncorrs,2)) + a<-table.element(a,round(mycorrs[iii,2]/ncorrs,2)) + a<-table.element(a,round(mycorrs[iii,3]/ncorrs,2)) + a<-table.row.end(a) + } > a<-table.end(a) > table.save(a,file="/var/wessaorg/rcomp/tmp/4qsca1386520778.tab") > > try(system("convert tmp/1s6vj1386520777.ps tmp/1s6vj1386520777.png",intern=TRUE)) character(0) > > > proc.time() user system elapsed 1.405 0.242 1.643