Hi Miltinho, Thank you for the reply. I know that this is one way to stop cor(log()...) from failing.
However, my question was exactly the opposite: how to *make* it fail. cor() silently succeeds and even returns a value even when the input to it fails on its own (e.g., log(0) fails). Note that this only happens with Spearman, rather than Pearson correlation. This behavior may be inconvenient when one wants the code to fail loudly when it encounters an error, rather than happily proceed. If such behavior is okay for many users, at least I would like to be able to optionally turn it off. In the toy example I showed, the alternative is to create the input separately, rather than on-the-fly inside cor(). This takes care of failing, but may not be very efficient or elegant. Timur On Wed, Sep 10, 2008 at 6:17 PM, milton ruser <[EMAIL PROTECTED]> wrote: > Hi Timur, > try > cor(log(a+1), log(b+1), method="pearson") > > HTH, > miltinho > brazil > > On Wed, Sep 10, 2008 at 6:04 PM, Timur Shtatland <[EMAIL PROTECTED]> > wrote: >> >> 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@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.