首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在面板数据中检查变量随时间变化的方差(或弹性

在面板数据中检查变量随时间变化的方差(或弹性
EN

Stack Overflow用户
提问于 2018-08-15 20:48:20
回答 1查看 124关注 0票数 0

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

代码语言:javascript
复制
  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

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

这就是我得到的结果:

代码语言:javascript
复制
library(tidyverse)
df <- df %>%
  arrange(ID, Year)
  group_by(ID) %>%
  mutate_if(is.numeric, funs(d = . - lag(.)))

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

对于如何正确地完成此操作,有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2018-08-15 20:53:47

如果我没记错的话,你想计算每年数值变量的方差?

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51859018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档