【发布时间】:2017-07-28 08:47:46
【问题描述】:
我有很多被重复测量的单位。
>df
Item value year
1 20 1990
1 20 1991
2 30 1990
2 15 1990
2 5 1991
3 10 1991
4 15 1990
5 10 1991
5 5 1991
我正在尝试使用 dplyr 删除观察次数较少的值。在这个玩具数据上,假设我要删除计数少于 2 的数据。
>df <- df %>%
group_by(Item) %>%
tally() %>%
filter(n>1)
Item n
1 2
2 3
5 2
问题是我想将其扩展回原来的样子,但要使用这个过滤器。我尝试使用ungroup 命令,但这似乎只在按两个变量分组时才有效果。如何按项目计数过滤,然后取回我的原始变量,即value 和year。它应该是这样的:
>df
Item value year
1 20 1990
1 20 1991
2 30 1990
2 15 1990
2 5 1991
5 10 1991
5 5 1991
【问题讨论】:
-
尝试改用
add_tally()。或者只是filter(n() > 1)在group_by()之后。 -
@AndreyKolyadin - 您应该将其添加为答案