выберите данные, которые не соответствуют требованию в R - PullRequest
0 голосов
/ 28 августа 2018

Допустим, у меня есть такие данные.

    ConDate    ID    TreN  AriT
   20180424  54294631  1  8030
   20180424  54294631  2  8030
   20180425  25005102  1  8040
   20180425  25005102  2  8045

Я хочу найти данные, которые имеют одинаковые conDate, ID, AriT, но разные TreN.

В этом случае следует выбрать первый и второй ряд.

Я не уверен, как написать запрос для такой ситуации.

Если они соответствуют требованию, то я хочу добавить дополнительный столбец рядом с надписью «AriT», указав Y для удовлетворения требования и N для несоответствия требованию.

Может кто-нибудь, пожалуйста, помогите мне? Спасибо!

1 Ответ

0 голосов
/ 28 августа 2018

Возможно, что-то подобное, используя dplyr::group_by и dplyr::filter?

library(dplyr)
df %>%
    group_by(ConDate, ID, AriT) %>%
    filter(n_distinct(TreN) > 1)
## A tibble: 2 x 4
## Groups:   ConDate, ID, AriT [1]
#   ConDate       ID  TreN  AriT
#     <int>    <int> <int> <int>
#1 20180424 54294631     1  8030
#2 20180424 54294631     2  8030

Пример данных

df <- read.table(text =
    "   ConDate    ID    TreN  AriT
   20180424  54294631  1  8030
   20180424  54294631  2  8030
   20180425  25005102  1  8040
   20180425  25005102  2  8045", header = T)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...