我正在尝试获取不平衡面板数据中某些变量的增长率,但是多年来仍然没有滞后的结果。
我一直在尝试使用Dplyr库获取增长率。正如我在这里显示的:
total_firmas_growth <- total_firmas %>%
group_by(firma) %>%
arrange(anio, .by_group = T) %>% mutate(
ing_real_growth = (((ingresos_real_2/Lag(ingresos_real_2))-1)*100)
)
例如,如果某公司在2008年的价值为“ ingresos_real_2”,而下一个值为2012年,则由于缺少年份(即2011年为缺少计算2012年增长率的方法,如您在下面带有“ firma” 115(id)的示例中所见:
total_firmas_growth <-
" firma anio ingresos_real_2 ing_real_growth
1 110 2005 14000 NA
2 110 2006 15000 7.14
3 110 2007 13000 -13.3
4 115 2008 15000 NA
5 115 2012 13000 NA
6 115 2013 14000 7.69
非常感谢您的帮助。
答案 0 :(得分:1)
将原始表转换为具有不适用列的NA的最简单方法是使用所有分组列和您的年份创建小标题。 Expand创建您感兴趣的所有变量的小标题,{。}接受比管道更健壮的内容。 (我相信通过创建副本)。由于任何包含NA的数学运算都将导致NA,因此,如果您使用group_by,安排,变异代码,那么应该会得到所需的信息。
total_firmas %>%
left_join(
expand({.}, firma, anio),
by = c("firma","anio")
)