R 获取组内的重复值
我试图在组中获得重复的值。更具体地说,我想检查每个家庭内的重复儿童ID,但不同家庭之间的重复儿童ID是可以的。例如,我有一个名为“village”的数据框:R 获取组内的重复值,r,dataframe,group-by,R,Dataframe,Group By,我试图在组中获得重复的值。更具体地说,我想检查每个家庭内的重复儿童ID,但不同家庭之间的重复儿童ID是可以的。例如,我有一个名为“village”的数据框: village我们可以按“家庭”、“儿童”和filter对行数大于1的行进行分组 library(dplyr) village %>% group_by(household, children) %>% filter(n() > 1) %>% ungroup -输出 # A tibble: 2
village我们可以按“家庭”、“儿童”和filter对行数大于1的行进行分组
library(dplyr)
village %>%
group_by(household, children) %>%
filter(n() > 1) %>%
ungroup
-输出
# A tibble: 2 x 2
# household children
# <dbl> <chr>
#1 1 A001
#2 1 A001
另一个使用子集+ave
> subset(village,ave(household,household,children,FUN = length)>1)
household children
1 1 A001
3 1 A001
group_by()答案正是我所需要的,因为我在实际数据集中有两列以上的数据。谢谢大家!@KarenLiu您也可以使用duplicated
子集,即village[duplicated(village[1:2])|duplicated(village[1:2],fromLast=TRUE),]
# A tibble: 2 x 2
# household children
# <dbl> <chr>
#1 1 A001
#2 1 A001
village[duplicated(village)|duplicated(village, fromLast = TRUE),]
# household children
#1 1 A001
#3 1 A001
> subset(village,ave(household,household,children,FUN = length)>1)
household children
1 1 A001
3 1 A001