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 <Greg.Snow at imail.org> 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" <tshtatland at gmail.com> To: "r-help at r-project.org" <r-help at 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_TELEPHONE=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 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.