有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==3time==19上具有相同的时间,因此必须选择人1和3的整个行。 PERNO==2PERNO==3time==21上也有相同的时间

输出 :
              SAMPN    PERNO       time
                1        3          15:00
                1        3          21:00
                2        4          1:00
                2        4          8:00

最佳答案

我们可以获得所有PERNO duplicatedtime并选择没有任何重复时间的行。

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/

10-12 21:53