【问题标题】:How to drop the unbalanced groups from panel data in R如何从 R 中的面板数据中删除不平衡组
【发布时间】:2021-07-09 11:07:09
【问题描述】:

我正在使用 R 中“pglm”包中的数据集 HealthIns。我想删除所有观察次数与 5 次不同的个人(其中一些只观察了三年)。因此,我只想为我拥有 1、2、3、4、5 年数据的个人创建一个新的数据框。 关于我该怎么做的任何建议? 提前谢谢你

【问题讨论】:

标签: r panel


【解决方案1】:

首先让我们找出哪些 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 对每年的值具有相同数量的观察值。

【讨论】:

    猜你喜欢
    • 2019-06-18
    • 1970-01-01
    • 2020-06-07
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2014-10-30
    相关资源
    最近更新 更多