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.

Reply via email to