Calculate percentage change in an R data frame Calculate percentage change in an R data frame r r

Calculate percentage change in an R data frame


Try this:

R> data/stats::lag(data,-1) - 1         data.x1   data.x2   data.x32010 Q4 1.000000 0.0909091 0.04761902011 Q1 0.500000 0.0833333 0.04545452011 Q2 0.333333 0.0769231 0.04347832011 Q3 0.250000 0.0714286 0.04166672011 Q4 0.200000 0.0666667 0.04000002012 Q1 0.166667 0.0625000 0.03846152012 Q2 0.142857 0.0588235 0.03703702012 Q3 0.125000 0.0555556 0.03571432012 Q4 0.111111 0.0526316 0.0344828R> 


Something like this?

> diff(data)/data[-nrow(data),] * 100               x1       x2       x32010 Q4 100.00000 9.090909 4.7619052011 Q1  50.00000 8.333333 4.5454552011 Q2  33.33333 7.692308 4.3478262011 Q3  25.00000 7.142857 4.1666672011 Q4  20.00000 6.666667 4.0000002012 Q1  16.66667 6.250000 3.8461542012 Q2  14.28571 5.882353 3.7037042012 Q3  12.50000 5.555556 3.5714292012 Q4  11.11111 5.263158 3.448276