Выбор дубликатов столбца с использованием частоты и времени появления других столбцов в R - PullRequest
1 голос
/ 14 июля 2020

Я использую R, и у меня есть набор данных с ID, boarding_number и time. Есть дубликаты в столбцах ID и baridng_numner, и для каждой строки есть time. Некоторые из значений boarding_nubmer связаны с разными IDs. это снимок данных:

ID  boarding_number  time              
 1     1234         2020-05-05 12:28:36
 2     7891         2020-05-12 11:21:36
 3     5432         2020-04-17 10:22:26
 4     1234         2020-06-11 10:11:36
 1     1234         2020-05-18 09:28:36
 5     7744         2020-08-10 09:11:11
 2     7891         2020-05-29 18:21:41
 6     7891         2020-06-01 11:21:36
 7     1234         2020-06-12 10:111:46

Итак, я хотел бы выбрать те bording_numbers, которые были связаны с более чем одним (>=2) уникальным ID. И я хочу выбрать ID и time_second_occurance, соответствующие праву на второе вхождение - первый раз, когда boarding_number связан с другим ID, чем первый ID, с которым он был связан. Я также хотел бы сообщить number_occurances из boarding_number.

Моей целью был бы следующий результат:

 ID   boarding_number  time_second_occurance      number_occurances 
 4     1234            2020-06-11 10:11:36                3
 6     7891            2020-06-01 11:21:36                2

1 Ответ

0 голосов
/ 15 июля 2020

Использование dplyr

library(dplyr)

df %>% 
  group_by(boarding_number) %>% 
  mutate(number_occuarances = n_distinct(ID)) %>% 
  filter(n_distinct(ID) >= 2) %>% 
  filter(!duplicated(ID)) %>% 
  slice(2)

# A tibble: 2 x 5
# Groups:   boarding_number [2]
     ID boarding_number time       hour     number_occuarances
  <int>           <int> <chr>      <chr>                 <int>
1     4            1234 2020-06-11 10:11:36                  3
2     6            7891 2020-06-01 11:21:36                  2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...