有3列。 SAMPN是家庭指数,PERNO是每个家庭的人口指数,其他列与每个人的旅行有关。我想为某些或所有家庭成员以及所有PERNO选择一些具有相同值的行,即使该PERNO的某些行不是重复的也是如此。
请注意,请注意,它找不到重复的行。
例子 :
SAMPN PERNO time
1 1 19:00
1 1 18:00
1 1 20:00
1 2 20:00
1 3 15:00
1 3 21:00
2 1 19:00
2 1 18:00
2 2 20:00
2 2 21:00
2 3 19:00
2 3 21:00
2 4 1:00
2 4 8:00
第一家庭
SAMPN==1
第一人称
PERNO==1
和第二人称PERNO==2
具有相同的时间,因此必须选择人1和2的整个行。第二家庭
SAMPN==2
第一人称
PERNO==1
和第二人称PERNO==3
在time==19
上具有相同的时间,因此必须选择人1和3的整个行。 PERNO==2
和PERNO==3
在time==21
上也有相同的时间输出 :
SAMPN PERNO time
1 3 15:00
1 3 21:00
2 4 1:00
2 4 8:00
最佳答案
我们可以获得所有PERNO
duplicated
的time
并选择没有任何重复时间的行。
library(dplyr)
df %>%
group_by(SAMPN) %>%
filter(!PERNO %in% unique(PERNO[duplicated(time) | duplicated(time, fromLast = TRUE)]))
# SAMPN PERNO time
# <int> <int> <chr>
#1 1 3 15:00
#2 1 3 21:00
#3 2 4 1:00
#4 2 4 8:00
关于r - 如何确定相对于组的重复行,然后选择该组的整个元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58089292/