Are you telling us the whole story? Or did you also
get a warning message which should have twigged the
answer for you?

Try ifelse() instead of if().

 -Peter Ehlers

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.

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

--
Peter Ehlers
University of Calgary
403.202.3921

______________________________________________
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