[R] Dividing by 0
Robert Baer
rbaer at atsu.edu
Thu Jul 24 19:24:59 CEST 2008
>
> I'm trying to calculate the percent change for a time-series variable.
> Basically the first several observations often look like this,
>
> x <- c(100, 0, 0, 150, 130, 0, 0, 200, 0)
>
> and then later in the life of the variable they're are generally no more
> 0's. So when I try to calculate the percent change from one observation
> to
> the next, I end up with a lot of NA/Nan/INF, and sometimes 0's which is
> what
> I want, in the beginning.
>
> I know I can use x <- na.omit(x), and other forms of this, to get rid of
> some of these errors. But I would rather use some kind of function that
> would by defult give a 0 while dividing by zero so that I don't lose the
> observation, which is what happens when I use na.omit.
>
Well, this is not an error but proper behavior in the world of math that I
know.
However, to get what you want you could try
x=(100-0)/0
if(!is.finite(x))x=0
x
More information about the R-help
mailing list