Hi everybody,

I would like to apply cor.test to a matrix with m rows and n columns and get 
the results in a list of matrices , one matrix for p.val, one for the 
statistic, one for the correlation and 2 for upper and lower confidence 
intervals, something analog with cor() applied to a matrix.

I have done my own function to get a matrix of p.values and i suppose i can 
build similar functions for all the others. But i have used for loops and i 
wonder if there is any way to actually use one of the functions from the 
"apply" family to do this in a quicker way.

Here is my little function:

cor.pval <- function(x, method = c("pearson", "kendal", "spearman"), digit=8) {
n <- dim(x)[2]
pval <- matrix(paste(rep("c", n*n), seq(1,n*n), sep = ""), n, n, byrow = T)
for (i in 1:n) {
        for (j in 1:n){
pval[i, j] <- cor.test(x[,i], x[,j], method = method)$p.value
                                  }
                   }
pval <- matrix(round(as.numeric(pval),digit), n, n, byrow = T)
rownames(pval) <- colnames(x)
colnames(pval) <- colnames(x)
return(pval)
}

Thanks for any input,

Monica







_________________________________________________________________


esh_messenger_052008
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to