我有一个不同家庭回答每周民意调查的分组数据结构,我观察他们超过 52 周(在下面的示例中为 4 周)。现在我想使用基尼系数来量化给定一周内所有家庭的民意调查答案的(不)平等程度(其中 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 填写民意调查之前的基尼)。我该如何解决这个问题?