R version 2.12.1 (2010-12-16) Copyright (C) 2010 The R Foundation for Statistical Computing ISBN 3-900051-07-0 Platform: i486-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(1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,1 + ,1 + ,2 + ,2 + ,2 + ,2 + ,2 + ,2 + ,2 + ,2 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,4 + ,2 + ,1 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,3 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,2 + ,2 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,4 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,4 + ,6 + ,3 + ,2 + ,3 + ,3 + ,3 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,2 + ,2 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,4 + ,1 + ,1 + ,1 + ,1 + ,2 + ,2 + ,1 + ,1 + ,1 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,4 + ,4 + ,4 + ,4 + ,1 + ,2 + ,1 + ,1 + ,3 + ,3 + ,3 + ,3 + ,2 + ,2 + ,1 + ,1 + ,3 + ,2 + ,2 + ,2 + ,2 + ,2 + ,4 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,3 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,4 + ,4 + ,5 + ,5 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,1 + ,1 + ,1 + ,3 + ,3 + ,3 + ,1 + ,2 + ,1 + ,1 + ,2 + ,2 + ,2 + ,2 + ,2 + ,2 + ,2 + ,2 + ,1 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,2 + ,2 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,1 + ,1 + ,4 + ,3 + ,4 + ,3 + ,3 + ,2 + ,2 + ,1 + ,2 + ,2 + ,2 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,3 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,1 + ,2 + ,2 + ,1 + ,1 + ,1 + ,4 + ,1 + ,1 + ,1 + ,1 + ,2 + ,1 + ,1 + ,2 + ,1 + ,1 + ,1 + ,1 + ,3 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,2 + ,2 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,3 + ,3 + ,2 + ,2 + ,2 + ,2 + ,2 + ,1 + ,2 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,1 + ,1 + ,2 + ,2 + ,2 + ,1 + ,2 + ,4 + ,1 + ,1 + ,1 + ,2 + ,1 + ,1 + ,2 + ,1 + ,4 + ,1 + ,2 + ,4 + ,2 + ,2 + ,2 + ,2 + ,3 + ,1 + ,2 + ,1 + ,1 + ,1 + ,4 + ,3 + ,3 + ,2 + ,1 + ,1 + ,1 + ,1 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,1 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,3 + ,2 + ,1 + ,1 + ,2 + ,2 + ,2 + ,1 + ,1 + ,7 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,1 + ,1 + ,2 + ,3 + ,1 + ,2 + ,5 + ,3 + ,2 + ,1 + ,1 + ,4 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,2 + ,2 + ,2 + ,1 + ,2 + ,1 + ,2 + ,2 + ,2 + ,1 + ,2 + ,1 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,5 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,3 + ,2 + ,1 + ,1 + ,2 + ,1 + ,2 + ,1 + ,1 + ,1 + ,1 + ,2 + ,3 + ,2 + ,2 + ,1 + ,2 + ,1 + ,1 + ,1 + ,2 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,2 + ,1 + ,1 + ,1 + ,2 + ,2 + ,1 + ,1 + ,4 + ,4 + ,4 + ,4 + ,1 + ,3 + ,1 + ,1 + ,1 + ,1 + ,2 + ,2 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1 + ,1) + ,dim=c(4 + ,162) + ,dimnames=list(c('Q5' + ,'Q12' + ,'Q19' + ,'Q26') + ,1:162)) > y <- array(NA,dim=c(4,162),dimnames=list(c('Q5','Q12','Q19','Q26'),1:162)) > for (i in 1:dim(x)[1]) + { + for (j in 1:dim(x)[2]) + { + y[i,j] <- as.numeric(x[i,j]) + } + } > par1 = '1 2 3 4 5 6 7' > docor <- function(x,y,method) { + r <- cor.test(x,y,method=method) + paste(round(r$estimate,3),' (',round(r$p.value,3),')',sep='') + } > x <- t(x) > nx <- length(x[,1]) > cx <- length(x[1,]) > mymedian <- median(as.numeric(strsplit(par1,' ')[[1]])) > myresult <- array(NA, dim = c(cx,7)) > rownames(myresult) <- paste('Q',1:cx,sep='') > colnames(myresult) <- c('mean','Sum of
positives (Ps)','Sum of
negatives (Ns)', '(Ps-Ns)/(Ps+Ns)', 'Count of
positives (Pc)', 'Count of
negatives (Nc)', '(Pc-Nc)/(Pc+Nc)') > for (i in 1:cx) { + spos <- 0 + sneg <- 0 + cpos <- 0 + cneg <- 0 + for (j in 1:nx) { + if (!is.na(x[j,i])) { + myx <- as.numeric(x[j,i]) - mymedian + if (myx > 0) { + spos = spos + myx + cpos = cpos + 1 + } + if (myx < 0) { + sneg = sneg + abs(myx) + cneg = cneg + 1 + } + } + } + myresult[i,1] <- round(mean(as.numeric(x[,i]),na.rm=T)-mymedian,2) + myresult[i,2] <- spos + myresult[i,3] <- sneg + myresult[i,4] <- round((spos - sneg) / (spos + sneg),2) + myresult[i,5] <- cpos + myresult[i,6] <- cneg + myresult[i,7] <- round((cpos - cneg) / (cpos + cneg),2) + } > myresult mean Sum of
positives (Ps) Sum of
negatives (Ns) (Ps-Ns)/(Ps+Ns) Q1 -2.56 1 415 -1.00 Q2 -2.33 6 384 -0.97 Q3 -2.62 1 425 -1.00 Q4 -2.70 1 438 -1.00 Count of
positives (Pc) Count of
negatives (Nc) (Pc-Nc)/(Pc+Nc) Q1 1 155 -0.99 Q2 3 152 -0.96 Q3 1 155 -0.99 Q4 1 157 -0.99 > > #Note: the /var/www/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab > load(file="/var/www/rcomp/createtable") > > a<-table.start() > a<-table.row.start(a) > a<-table.element(a,'Summary of survey scores (median of Likert score was subtracted)',8,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Question',header=TRUE) > for (i in 1:7) { + a<-table.element(a,colnames(myresult)[i],header=TRUE) + } > a<-table.row.end(a) > for (i in 1:cx) { + a<-table.row.start(a) + a<-table.element(a,i,header=TRUE) + for (j in 1:7) { + a<-table.element(a,myresult[i,j],align='right') + } + a<-table.row.end(a) + } > a<-table.end(a) > table.save(a,file="/var/www/rcomp/tmp/1w1101321805919.tab") > a<-table.start() > a<-table.row.start(a) > a<-table.element(a,'Pearson correlations of survey scores (and p-values)',4,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'',header=TRUE) > a<-table.element(a,'mean',header=TRUE) > a<-table.element(a,'(Ps-Ns)/(Ps+Ns)',header=TRUE) > a<-table.element(a,'(Pc-Nc)/(Pc+Nc)',header=TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'mean',header=TRUE) > a<-table.element(a,docor(myresult[,1],myresult[,1],method='pearson'),align='right') > a<-table.element(a,docor(myresult[,1],myresult[,4],method='pearson'),align='right') > a<-table.element(a,docor(myresult[,1],myresult[,7],method='pearson'),align='right') > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'(Ps-Ns)/(Ps+Ns)',header=TRUE) > a<-table.element(a,docor(myresult[,4],myresult[,1],method='pearson'),align='right') > a<-table.element(a,docor(myresult[,4],myresult[,4],method='pearson'),align='right') > a<-table.element(a,docor(myresult[,4],myresult[,7],method='pearson'),align='right') > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'(Pc-Nc)/(Pc+Nc)',header=TRUE) > a<-table.element(a,docor(myresult[,7],myresult[,1],method='pearson'),align='right') > a<-table.element(a,docor(myresult[,7],myresult[,4],method='pearson'),align='right') > a<-table.element(a,docor(myresult[,7],myresult[,7],method='pearson'),align='right') > a<-table.row.end(a) > a<-table.end(a) > table.save(a,file="/var/www/rcomp/tmp/2uc2l1321805919.tab") > a<-table.start() > a<-table.row.start(a) > a<-table.element(a,'Kendall tau rank correlations of survey scores (and p-values)',4,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'',header=TRUE) > a<-table.element(a,'mean',header=TRUE) > a<-table.element(a,'(Ps-Ns)/(Ps+Ns)',header=TRUE) > a<-table.element(a,'(Pc-Nc)/(Pc+Nc)',header=TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'mean',header=TRUE) > a<-table.element(a,docor(myresult[,1],myresult[,1],method='kendall'),align='right') > a<-table.element(a,docor(myresult[,1],myresult[,4],method='kendall'),align='right') Warning message: In cor.test.default(x, y, method = method) : Cannot compute exact p-value with ties > a<-table.element(a,docor(myresult[,1],myresult[,7],method='kendall'),align='right') Warning message: In cor.test.default(x, y, method = method) : Cannot compute exact p-value with ties > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'(Ps-Ns)/(Ps+Ns)',header=TRUE) > a<-table.element(a,docor(myresult[,4],myresult[,1],method='kendall'),align='right') Warning message: In cor.test.default(x, y, method = method) : Cannot compute exact p-value with ties > a<-table.element(a,docor(myresult[,4],myresult[,4],method='kendall'),align='right') Warning message: In cor.test.default(x, y, method = method) : Cannot compute exact p-value with ties > a<-table.element(a,docor(myresult[,4],myresult[,7],method='kendall'),align='right') Warning message: In cor.test.default(x, y, method = method) : Cannot compute exact p-value with ties > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'(Pc-Nc)/(Pc+Nc)',header=TRUE) > a<-table.element(a,docor(myresult[,7],myresult[,1],method='kendall'),align='right') Warning message: In cor.test.default(x, y, method = method) : Cannot compute exact p-value with ties > a<-table.element(a,docor(myresult[,7],myresult[,4],method='kendall'),align='right') Warning message: In cor.test.default(x, y, method = method) : Cannot compute exact p-value with ties > a<-table.element(a,docor(myresult[,7],myresult[,7],method='kendall'),align='right') Warning message: In cor.test.default(x, y, method = method) : Cannot compute exact p-value with ties > a<-table.row.end(a) > a<-table.end(a) > table.save(a,file="/var/www/rcomp/tmp/30yxc1321805919.tab") > > > > proc.time() user system elapsed 0.476 0.056 0.518