A previous post explained how to do a Chi-squared loop in R on all your data-pairs: Chi Square Analysis using for loop in R. I wanted to use this code to do the same thing for a Spearman correlation.
I've already tried altering a few of the variables and I was able to calculate the pearson correlation variables using this code:
library(plyr)
combos <- combn(ncol(fullngodata),2)
adply(combos, 2, function(x) {
  test <- cor.test(fullngodata[, x[1]], fullngodata[, x[2]])
  out <- data.frame("Row" = colnames(fullngodata)[x[1]]
                , "Column" = colnames(fullngodata[x[2]])
                , "cor" = round(test$statistic,3)
                ,  "df"= test$parameter
                ,  "p.value" = round(test$p.value, 3)
                )
 return(out)
})  
But since I work with data on an ordinal scale, I need to use the Spearman correlation.
I thought I could get this data by just adding the method="spearman" command but this does not seem to work. If I use the code:
library(plyr)
combos <- combn(ncol(fullngodata),2)
adply(combos, 2, function(x) {
  test <- cor.test(fullngodata[, x[1]], fullngodata[, x[2]], method="spearman")
  out <- data.frame("Row" = colnames(fullngodata)[x[1]]
                , "Column" = colnames(fullngodata[x[2]])
                , "Chi.Square" = round(test$statistic,3)
                ,  "df"= test$parameter
                ,  "p.value" = round(test$p.value, 3)
                )
  return(out)
})  
I get the response:
Error in data.frame(Row = colnames(fullngodata)[x[1]], Column =    
colnames(fullngodata[x[2]]),  : 
arguments imply differing number of rows: 1, 0
In addition: Warning message:
In cor.test.default(fullngodata[, x[1]], fullngodata[, x[2]], method = "spearman") :
Cannot compute exact p-values with ties
what am I doing wrong?
 
     
     
    