Calculate percentage change in an R data frame

后端 未结 2 1709
一向
一向 2020-12-23 02:18

I have a time series object in R with multiple vectors. I would like to calculate the period-over-period percentage change at each point in time (save t = 1, which would obv

相关标签:
2条回答
  • 2020-12-23 02:51

    Something like this?

    > diff(data)/data[-nrow(data),] * 100
                   x1       x2       x3
    2010 Q4 100.00000 9.090909 4.761905
    2011 Q1  50.00000 8.333333 4.545455
    2011 Q2  33.33333 7.692308 4.347826
    2011 Q3  25.00000 7.142857 4.166667
    2011 Q4  20.00000 6.666667 4.000000
    2012 Q1  16.66667 6.250000 3.846154
    2012 Q2  14.28571 5.882353 3.703704
    2012 Q3  12.50000 5.555556 3.571429
    2012 Q4  11.11111 5.263158 3.448276
    
    0 讨论(0)
  • 2020-12-23 02:55

    Try this:

    R> data/stats::lag(data,-1) - 1
             data.x1   data.x2   data.x3
    2010 Q4 1.000000 0.0909091 0.0476190
    2011 Q1 0.500000 0.0833333 0.0454545
    2011 Q2 0.333333 0.0769231 0.0434783
    2011 Q3 0.250000 0.0714286 0.0416667
    2011 Q4 0.200000 0.0666667 0.0400000
    2012 Q1 0.166667 0.0625000 0.0384615
    2012 Q2 0.142857 0.0588235 0.0370370
    2012 Q3 0.125000 0.0555556 0.0357143
    2012 Q4 0.111111 0.0526316 0.0344828
    R> 
    
    0 讨论(0)
提交回复
热议问题