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

______________________________________________
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