r语言 - 检查面板数据中变量随时间的变化(或弹性)



我有一个类似于下面的面板数据集:

Country Ccode Year Happiness Power ID
1  France    FR 2000      1000  1000 01
2  France    FR 2001      1200  1400 01
3  France    FR 2000      1400  1800 02
4  France    FR 2001      1600  2200 02
5      UK    UK 2000      1000  1000 03
6      UK    UK 2001      1000  1000 03
7      UK    UK 2000      1000  1000 04
8      UK    UK 2001      1000  1000 04

我真正感兴趣的是变量相对于时间的弹性程度。在计算这种弹性时,我想利用面板数据。

这就是我走多远:

library(tidyverse)
df <- df %>%
arrange(ID, Year)
group_by(ID) %>%
mutate_if(is.numeric, funs(d = . - lag(.)))

但这只是计算每个变量的差异,而不是特定变量的方差。

关于如何正确执行此操作的任何建议?

如果我理解正确,您想计算每年数值变量的方差吗?

df %>%
arrange(ID, Year) %>% 
group_by(Year) %>%
mutate_if(is.numeric, funs(d = var(.)))
Country Ccode  Year Happiness Power    ID Happiness_d Power_d  ID_d
<fct>   <fct> <int>     <int> <int> <int>       <dbl>   <dbl> <dbl>
1 France  FR     2000      1000  1000     1      40000. 160000.  1.67
2 France  FR     2001      1200  1400     1      80000. 320000.  1.67
3 France  FR     2000      1400  1800     2      40000. 160000.  1.67
4 France  FR     2001      1600  2200     2      80000. 320000.  1.67
5 UK      UK     2000      1000  1000     3      40000. 160000.  1.67
6 UK      UK     2001      1000  1000     3      80000. 320000.  1.67
7 UK      UK     2000      1000  1000     4      40000. 160000.  1.67
8 UK      UK     2001      1000  1000     4      80000. 320000.  1.67

相关内容

  • 没有找到相关文章

最新更新