【发布时间】:2021-07-09 11:07:09
【问题描述】:
我正在使用 R 中“pglm”包中的数据集 HealthIns。我想删除所有观察次数与 5 次不同的个人(其中一些只观察了三年)。因此,我只想为我拥有 1、2、3、4、5 年数据的个人创建一个新的数据框。 关于我该怎么做的任何建议? 提前谢谢你
【问题讨论】:
-
请附上您尝试过的代码。这篇文章可能对stackoverflow.com/questions/20204257/… 有所帮助
我正在使用 R 中“pglm”包中的数据集 HealthIns。我想删除所有观察次数与 5 次不同的个人(其中一些只观察了三年)。因此,我只想为我拥有 1、2、3、4、5 年数据的个人创建一个新的数据框。 关于我该怎么做的任何建议? 提前谢谢你
【问题讨论】:
首先让我们找出哪些 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 对每年的值具有相同数量的观察值。
【讨论】: