如何从 R 中的面板数据中删除不平衡组

我正在使用 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 对每年的值都有相同数量的观察。

本文链接:https://www.f2er.com/123526.html

大家都在问