[R] function to set log(0)=0 not working on tables or vectors
David Winsemius
dwinsemius at comcast.net
Mon Jan 18 04:12:18 CET 2010
On Jan 17, 2010, at 8:17 PM, maiya wrote:
>
> There must be a very basic thing I am not getting...
>
> I'm working with some entropy functions and the convention is to use
> log(0)=0.
>
I suppose the outcome of that effort may depend on whether you have
assumed the needed godlike capacities to change the laws of
mathematics. But I suppose that as the Earth mother that might occur
to you. Go ahead, define a new mathematics.
--
David
> So I wrote a function:
>
> llog<-function(x){
> if (x ==0) 0 else log(x)
> }
>
> which seems to work fine for individual numbers e.g.
>
>> llog(0/2)
> [1] 0
>
> but if I try whole vectors or tables:
>
> p<-c(4,3,1,0)
> q<-c(2,2,2,2)
> llog(p/q)
>
> I get this:
>
> [1] 0.6931472 0.4054651 -0.6931472 -Inf
>
>
> What am I missing?
>
> Thanks!
>
> Maja
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
More information about the R-help
mailing list