Hello,

Instead of 'sum' use 'mean'

ok <- apply(tbl, 2, function(x) mean(!is.na(x)) >= 0.5)
cor(tbl[, ok], use="pairwise.complete.obs")

Hope this helps,

Rui Barradas

Em 29-05-2012 10:03, jeff6868 escreveu:
Hi everybody.

I'm trying to do a correlation matrix in a list of files. Each file contains
2 columns: "capt1" and "capt2". For the example, I merged all in one
data.frame. My data also contains many missing data. The aim is to do a
correlation matrix for the same data for course (one correlation matrix for
capt1 and another for capt2).
For the moment, I have a correlation matrix which works (for capt1 or
capt2). But correlation coefficients of this matrix are calculated whatever
the number of missing data per column.
What I want to do is to have exactly the same correlation matrix, but only
with coefficients calculated with at least half of non missing data in the
column (in the example, at least 5 non NA values out of 10).

table<- data.frame(ST1_capt1=rnorm(1:10),ST1_capt2=c(1,2,3,4,NA,NA,7:9,NA),
   ST2_capt1=c(NA,NA,NA,NA,NA,6:10),ST2_capt2=c(21,NA,NA,NA,25:30),
   ST3_capt1=c(1,NA,NA,4:10),ST3_capt2=c(NA,NA,NA,NA,NA,NA,NA,NA,NA,NA))

cormatrix<- cor(table[,c(1,3,5)],use="pairwise.complete.obs")

To solve this problem, I think  it would be useful to use a code like this
before calculating the correlation matrix:

if(sum(!is.na(table[1:10,]))>=5) then calculate the correlation
coefficient, and else (if less than 5 non-NA values) put NA in the
correlation matrix.

I'm trying to combinate all this stuff but it doesn't work. Could somebody
help me to do this?
Many thanks!



--
View this message in context: 
http://r.789695.n4.nabble.com/correlation-matrix-only-if-enough-non-NA-values-tp4631666.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
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.

______________________________________________
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