r语言 - 通过事件计算基尼系数的变化



我有一个不同家庭的分组数据结构,回答每周一次的民意调查,我在52周内观察了他们(在下面的例子中是四周(。现在我想使用基尼系数来量化给定一周内所有家庭的民意调查答案的(不(平等程度(其中0 =所有家庭都回答了相同数量的民意调查;1 =一个家庭回答了所有民意调查(。

示例数据:

da_poll <- data.frame(household = c(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4), week = c(1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4), participation = c(1,1,1,1,0,0,0,1,0,1,0,1,1,1,1,0))
da_poll
household week participation
1          1    1             1
2          1    2             1
3          1    3             1
4          1    4             1
5          2    1             0
6          2    2             0
7          2    3             0
8          2    4             1
9          3    1             0
10         3    2             1
11         3    3             0
12         3    4             1
13         4    1             1
14         4    2             1
15         4    3             1
16         4    4             0

我现在开始计算每周的基尼系数:

library(DescTools)
da_poll = group_by(da_poll, household) %>%
mutate(n_polls = cumsum(participation == 1)) %>%
group_by(week) %>%
mutate(gini_polls = Gini(n_polls))
da_poll
# A tibble: 16 x 5
# Groups:   week [4]
household  week participation n_polls gini_polls
<dbl> <dbl>         <dbl>   <int>      <dbl>
1         1     1             1       1      0    
2         1     2             1       2      0.143
3         1     3             1       3      0.259
4         1     4             1       4      0.167
5         2     1             1       1      0    
6         2     2             0       1      0.143
7         2     3             0       1      0.259
8         2     4             1       2      0.167
9         3     1             1       1      0    
10         3     2             1       2      0.143
11         3     3             0       2      0.259
12         3     4             1       3      0.167
13         4     1             1       1      0    
14         4     2             1       2      0.143
15         4     3             1       3      0.259
16         4     4             0       3      0.167

现在我想添加一个变量,指示基尼系数的变化(家庭 h 在第 w 周填写民意调查后的基尼系数 – 家庭 w 在 w 填写民意调查之前的基尼系数(通过一周内参与民意调查的家庭。如何解决此问题?

我无法回顾你的工作;你使用了Gini函数,但没有告诉我们你正在使用什么包。 但只是抓住你的结果。

da_poll2 <- read_table("C  household  week participation n_polls gini_polls
1         1     1             1       1      0    
2         1     2             1       2      0.143
3         1     3             1       3      0.259
4         1     4             1       4      0.167
5         2     1             1       1      0    
6         2     2             0       1      0.143
7         2     3             0       1      0.259
8         2     4             1       2      0.167
9         3     1             1       1      0    
10         3     2             1       2      0.143
11         3     3             0       2      0.259
12         3     4             1       3      0.167
13         4     1             1       1      0    
14         4     2             1       2      0.143
15         4     3             1       3      0.259
16         4     4             0       3      0.167") %>% 
select(- C)
da_poll2 %>% 
group_by(household) %>% 
mutate(prevGini = lag(gini_polls),
deltaGini = gini_polls - prevGini ) %>%
ungroup()

给我们

# A tibble: 16 x 7
household  week participation n_polls gini_polls prevGini deltaGini
<dbl> <dbl>         <dbl>   <dbl>      <dbl>    <dbl>     <dbl>
1         1     1             1       1      0       NA        NA    
2         1     2             1       2      0.143    0         0.143
3         1     3             1       3      0.259    0.143     0.116
4         1     4             1       4      0.167    0.259    -0.092
5         2     1             1       1      0       NA        NA    
6         2     2             0       1      0.143    0         0.143
7         2     3             0       1      0.259    0.143     0.116
8         2     4             1       2      0.167    0.259    -0.092
9         3     1             1       1      0       NA        NA    
10         3     2             1       2      0.143    0         0.143
11         3     3             0       2      0.259    0.143     0.116
12         3     4             1       3      0.167    0.259    -0.092
13         4     1             1       1      0       NA        NA    
14         4     2             1       2      0.143    0         0.143
15         4     3             1       3      0.259    0.143     0.116
16         4     4             0       3      0.167    0.259    -0.092

相关内容

  • 没有找到相关文章

最新更新