[R] Correlation matrix removing insignificant R values

R. Michael Weylandt michael.weylandt at gmail.com
Thu Nov 24 06:03:03 CET 2011

There have been two threads dealing with this in the last few weeks:
please search the recent archives for those threads for a good
discussion -- end result: Josh Wiley provided a useful little function
to do so that I'll copy below. RSeek.org is a good place to do your

spec.cor <- function(dat, r, ...) {
    x <- cor(dat, ...)
    x[upper.tri(x, TRUE)] <- NA
    i <- which(abs(x) >= r, arr.ind = TRUE)
    data.frame(matrix(colnames(x)[as.vector(i)], ncol = 2), value = x[i])


On Wed, Nov 23, 2011 at 7:34 AM, mgranlie <mads at granlie.dk> wrote:
> Hello.
> I have a large dataset with sales pr month for 56 products with 10 months
> and i have tried to see how the sales are correlated using
> cor()
> This has given me a 56X56 matrix with the R value for each product pair.
> Most of these correlations are insignificant, and i want only to retain the
> instances were the R value is significant (for 10 observations it should be
> above 0.64)
> Can someone help with this?
> --
> View this message in context: http://r.789695.n4.nabble.com/Correlation-matrix-removing-insignificant-R-values-tp4099412p4099412.html
> Sent from the R help mailing list archive at Nabble.com.
> ______________________________________________
> R-help at 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.

More information about the R-help mailing list