1

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

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

我遵循了复合年增长率( CARG ) 的计算,考虑了第一年、去年和总年数的值。

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

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%。请问,我的公式有什么问题?是因为原始值(开始,结束)已经是百分比吗?或者,是因为end的累积值start

谢谢你的想法!

4

2 回答 2

2

如果我理解正确,也许这就是我们想要的:

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

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

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

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

于 2021-11-02T10:06:03.303 回答
0

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

对我来说似乎是正确的

于 2021-11-02T09:58:53.383 回答