Just out of curiosity, why do you want the spearman rank correlation to error 
in this case?

One of the advantages of the spearman correlation is that it is invariant to 
monotone transformations, so most people that use it see the fact that 
corr(x,y, method='spearman') gives the same answer as cor(log(x), exp(y), 
method='spearman') to be the desired result.

--
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
[EMAIL PROTECTED]
(801) 408-8111



> -----Original Message-----
> From: Timur Shtatland [mailto:[EMAIL PROTECTED]
> Sent: Thursday, September 11, 2008 6:03 PM
> To: Greg Snow
> Cc: r-help@r-project.org
> Subject: Re: [R] making spearman correlation cor() call fail
> with log(0) as input
>
> You are right, Inf and -Inf are not considered errors in R,
> they are accepted as input to Spearman's cor(), and so I will
> have to check the input myself for such condition.
> Thank you for pointing this out!
>
> Timur
>
> On Wed, Sep 10, 2008 at 8:50 PM, Greg Snow
> <[EMAIL PROTECTED]> wrote:
> > Your code shows no errors only correct responses.
> >
> > If you want an error when R is generating correct results,
> you will need to check for the conditions yourself.
> >
> > -----Original Message-----
> > From: "Timur Shtatland" <[EMAIL PROTECTED]>
> > To: "r-help@r-project.org" <r-help@r-project.org>
> > Sent: 9/10/08 3:51 PM
> > Subject: [R] making spearman correlation cor() call fail
> with log(0)
> > as input
> >
> >
> > Hi,
> >
> > How can I make the cor(x, y, method="spearman") call to produce an
> > error when the input to it (x, y) produces an error? Here
> is a simple
> > example:
> >
> >> a <- c(0, 1, 2)
> >> b <- c(100, 2, 4)
> >
> > ## error:
> >> log(a)
> > [1]      -Inf 0.0000000 0.6931472
> >
> > ## error, as expected:
> >> cor(log(a), log(b), method="pearson")
> > [1] NaN
> >
> > ## not an error any more (not expected):
> >> cor(log(a), log(b), method="spearman")
> > [1] -0.5
> >> cor(log(a), log(b), method="spearman", use="all.obs")
> > [1] -0.5
> >
> >> sessionInfo()
> > R version 2.6.1 (2007-11-26)
> > i686-pc-linux-gnu
> >
> > locale:
> >
> LC_CTYPE=en_US;LC_NUMERIC=C;LC_TIME=en_US;LC_COLLATE=en_US;LC_MONETARY
> >
> =en_US;LC_MESSAGES=en_US;LC_PAPER=en_US;LC_NAME=C;LC_ADDRESS=C;LC_TELE
> > PHONE=C;LC_MEASUREMENT=en_US;LC_IDENTIFICATION=C
> >
> > attached base packages:
> > [1] stats     graphics  grDevices utils     datasets  methods   base
> >>
> >
> > Thank you for your help.
> >
> > Best regards,
> >
> > Timur Shtatland
> >
> > ______________________________________________
> > 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