# [R] strange behavior of cor() with pairwise.complete.obs

From: Hilmar Berger <hilmar.berger_at_imise.uni-leipzig.de>
Date: Wed, 2 Jan 2008 17:39:07 +0000 (UTC)

Hi all,

I'm not quite sure if this is a feature or a bug or if I just fail to understand the documentation:

If I use cor() with pairwise.complete.obs and method=pearson, the result is a scalar:

->cor(c(1,2,3),c(3,4,6),use="pairwise.complete.obs",method="pearson") [1] 0.9819805

The documentation says that
" '"pairwise.complete.obs"' only works with the '"pearson"' method

for 'cov' and 'var'."

Thus, I guess that cor() should work for pairwise.complete.obs and method = "kendall", or am I misinterpreting that statement ?

[,1]
[1,] 1

Now the result is a matrix with dimensions (1,1) - strange enough.

Note that when I use "all.obs" or "complete.obs" I get a scalar for method kendall, too.

It gets worse if one tries to calculate the correlation between the columns of two matrices (i.e. cor(x,y) with x and y being a matrix). Then

-> c=matrix(c(1,2,3,3,4,5),nrow=3,ncol=2)
-> d=matrix(c(2,3,4,NA,NA,NA),nrow=3,ncol=2)
-> cor(c,d,use="pairwise.complete.obs",method="pearson")

[,1] [,2]
[1,] 1 NA
[2,] 1 NA

-> cor(c,d,use="pairwise.complete.obs",method="kendall")
Error: 'x' is empty (*translated from german error message*)

The behavior is reproducible in R 2.4.1 and 2.6.1 (WinXP). I noticed that in 2.7.0 something was fixed in cor() related to "complete.obs" handling - would that fix my problems ?

Any suggestions ?

Thanks,
Hilmar

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. Received on Wed 02 Jan 2008 - 17:43:53 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Wed 02 Jan 2008 - 19:30:05 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.