gpt4 book ai didi

r - 仅按 dplyr 中的一个变量分组后取消分组

转载 作者:行者123 更新时间:2023-12-04 01:58:31 25 4
gpt4 key购买 nike

我有很多单位是重复测量的

>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命令,但这似乎只有在按两个变量分组时才有效。如何按项目计数过滤然后取回我的原始变量,即 valueyear .它应该是这样的
>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

最佳答案

更简单的,使用dplyr的row_number()

library(dplyr)

df <- read.table("clipboard", header = TRUE, stringsAsFactors = FALSE)

df %>%
group_by(Item) %>%
filter(max(row_number()) > 1) %>%
ungroup()

# A tibble: 7 x 3
# Groups: Item [3]
Item value year
<int> <int> <int>
1 1 20 1990
2 1 20 1991
3 2 30 1990
4 2 15 1990
5 2 5 1991
6 5 10 1991
7 5 5 1991

关于r - 仅按 dplyr 中的一个变量分组后取消分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45368924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com