我正在使用 R 中“pglm”包中的数据集 HealthIns。我想删除所有观察数不为 5 的个体(其中一些仅观察了三年)。因此,我只想为我拥有 1、2、3、4、5 年数据的个人创建一个新的数据框。 关于我如何做到这一点的任何建议? 提前致谢
iCMS 回答:如何从 R 中的面板数据中删除不平衡组
首先让我们找出哪些 ID 拥有所有五年的数据:
# Load library
library(tidyverse)
complete <- HealthIns %>%
group_by(id) %>%
count() %>%
ungroup() %>%
filter(n == 5) %>%
pull(id)
现在我们可以用它来过滤数据了:
df <- HealthIns %>%
filter(id %in% complete)
让我们检查一下 df
是否正确:
df %>%
group_by(year) %>%
count()
# A tibble: 5 x 2
# Groups: year [5]
year n
<dbl> <int>
1 1 1584
2 2 1584
3 3 1584
4 4 1584
5 5 1584
如您所见,df
对每年的值都有相同数量的观察。