Try WGCNA package. R base function, cor
and some other packages like ppcor
, shows an error if you have NA in your data. You need to get rid of NAs or set up some options. The package WGCNA
handles the missing values issue plus provides some stats like pvalue for the calculated correlations.
library(WGCNA)
varX <- seq(from=1, to=10, length=10)
varY <- seq(from=20, to=50, length=10)
varZ <- rnorm(10)
varZ[c(1,5,7)] <- NA
mat <- cbind(varX, varY, varZ)
corAndPvalue(mat, method='spearman')
$cor
varX varY varZ
varX 1.0 1.0 0.5
varY 1.0 1.0 0.5
varZ 0.5 0.5 1.0
$p
varX varY varZ
varX 1.063504e-62 1.063504e-62 2.531700e-01
varY 1.063504e-62 1.063504e-62 2.531700e-01
varZ 2.531700e-01 2.531700e-01 1.411089e-39
$Z
varX varY varZ
varX 51.953682 51.953682 1.228286
varY 51.953682 51.953682 1.228286
varZ 1.228286 1.228286 41.072992
$t
varX varY varZ
varX 1.342177e+08 1.342177e+08 1.290994e+00
varY 1.342177e+08 1.342177e+08 1.290994e+00
varZ 1.290994e+00 1.290994e+00 1.061084e+08
$nObs
varX varY varZ
varX 10 10 7
varY 10 10 7
varZ 7 7 7