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(17,17,18,21,20,28,19,22,16,18,25,17,14,11,27,20,22,22,21,23,17,24,14,17,23,24,24,8,22,23,25,21,24,15,22,21,25,16,28,23,21,21,26,22,21,18,12,25,17,24,15,13,26,16,24,21,20,14,25,25,20,22,20,26,18,22,24,17,24,20,19,20,15,23,26,22,20,24,26,21,25,13,20,22,23,28,22,20,6,21,20,18,23,20,24,22,21,18,21,23,23,15,21,24,23,21,21,20,11,22,27,25,18,20,24,10,27,21,21,18,15,24,22,14,28,18,26,17,19,22,18,24,15,18,26,11,26,21,23,23,15,22,26,16,20,18,22,16,19,20,19,23,24,25,21,21,23,27,23,18,16,16),dim=c(1,162),dimnames=list(c('E2'),1:162)) > y <- array(NA,dim=c(1,162),dimnames=list(c('E2'),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' > par1 <- '1 2 3 4 5' > #'GNU S' R Code compiled by R2WASP v. 1.2.291 () > #Author: root > #To cite this work: Wessa P., (2012), Survey Scores (v1.0.3) in Free Statistics Software (v$_version), Office for Research Development and Education, URL http://www.wessa.net/rwasp_surveyscores.wasp/ > #Source of accompanying publication: > # > 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 17.56 2845 0 1 Count of
positives (Pc) Count of
negatives (Nc) (Pc-Nc)/(Pc+Nc) Q1 162 0 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,'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/wessaorg/rcomp/tmp/1m67f1382542229.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') Error in cor.test.default(x, y, method = method) : not enough finite observations Calls: table.element -> paste -> docor -> cor.test -> cor.test.default Execution halted