比较组间的年率

Compare the annual rates between groups

我正在努力比较一段时间内两个百分比之间的比率 'of mortality'。我的目标是获得每组的年费率。

我的值已经用百分比表示(startend 值),表示几年来 mych 森林从总森林中消失的情况(扰乱、烧毁、砍伐等)覆盖。例如,第一年是 1%,最后一年是 20% 是森林损失总量的累积值。

我按照Compound annual growth rateCARG)的计算,考虑了第一年、去年和总年数的值。

这是我的两组虚拟数据,例如。死亡率取决于树种:

df <- data.frame(group = c('pine', 'beech'),
                 start = c(1,2),
                 end = c(19, 30),
                 years = 18)

为了计算CAGR,我使用了这个函数:

CAGR_formula <- function(end, start, yrs) {
  values <- ((end/start)^(1/yrs)-1)
  return(values)
}

给予:

df %>% 
 mutate(CARG = CAGR_formula(end, start, yrs)*100)

  group start end yrs     CARG
1  pine     1  19  18   17.8
2 beech     2  30  18   16.2

但是,16-17% 的 CARG 比率似乎非常高!我预计每年大约 1-3%。请问,我的公式有什么问题?是因为原始值(开始、结束)已经是百分比了吗?或者,是因为 endstart 的累加值吗?

谢谢你的想法!

为什么看起来很高?从 1% 到 19% 是一个很大的飞跃。还: 1 * 1.178^18 = 19.086

我觉得合适

如果我没理解错的话,也许这就是我们想要的:

df %>% 
  mutate(CARG = CAGR_formula(1 - end/100, 1, yrs)*100)

#>   group start end yrs      CARG
#> 1  pine     1  19  18 -1.163847
#> 2 beech     2  30  18 -1.962024

其中 CARG()start 参数始终为 1(在此计算中可以忽略第 1 年的值),这意味着森林是 100%,end CARG() 的参数是 1 - end/100,例如第一行 81% 的森林在 18 年后仍然存在。

由此产生的年死亡率分别为 1.17% 和 1.96%。

我们可以验证 1 * (1 - 0.0117)^18 大约是 81%,1 * (1 - 0.0196)^18 大约是 70%