如何计算R在过去几年中的演变或趋势百分比?

时间:2019-06-05 09:19:20

标签: r statistics

我需要计算每公里4年的变化百分比。有没有可以进行此计算的功能?

df <- data.frame(km = c(100:111), 
                 A2012 = c(12:23), 
                 A2013 = c(14,25), 
                 A2014 =  c(10,21), 
                 A2015  = c(18, 29),
                 Coef_Evol="?")

1 个答案:

答案 0 :(得分:0)

我认为不存在一个数字来说明一段时间内的总体变化。因此,我认为您可以输入已经使用的计算:(Finalvalue - StartValue) / StartValue),也可以创建一个附加的df2来显示逐年百分比变化:

df <- data.frame(km = c(100:111), 
                 A2012 = c(12:23), 
                 A2013 = c(14,25), 
                 A2014 =  c(10,21), 
                 A2015  = c(18, 29))
df
    km A2012 A2013 A2014 A2015
1  100    12    14    10    18
2  101    13    25    21    29
3  102    14    14    10    18
4  103    15    25    21    29
5  104    16    14    10    18
6  105    17    25    21    29
7  106    18    14    10    18
8  107    19    25    21    29
9  108    20    14    10    18
10 109    21    25    21    29
11 110    22    14    10    18
12 111    23    25    21    29
df2 <- data.frame(df[1], NA * df[2], 100 * (df[-(1:2)] / df[-c(1, ncol(df))] - 1))
df2
    km A2012      A2013     A2014    A2015
1  100    NA  16.666667 -28.57143 80.00000
2  101    NA  92.307692 -16.00000 38.09524
3  102    NA   0.000000 -28.57143 80.00000
4  103    NA  66.666667 -16.00000 38.09524
5  104    NA -12.500000 -28.57143 80.00000
6  105    NA  47.058824 -16.00000 38.09524
7  106    NA -22.222222 -28.57143 80.00000
8  107    NA  31.578947 -16.00000 38.09524
9  108    NA -30.000000 -28.57143 80.00000
10 109    NA  19.047619 -16.00000 38.09524
11 110    NA -36.363636 -28.57143 80.00000
12 111    NA   8.695652 -16.00000 38.09524

也许您可以再添加一列,以显示平均百分比变化...