选择不符合R要求的数据

时间:2018-08-28 00:16:19

标签: r

假设我有这样的数据。

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

我要查找条件,ID,AriT相同但TreN不同的数据。

在这种情况下,应该选择第一行和第二行。

我不确定如何针对这种情况编写查询。

如果它们符合要求,那么我想在“ AriT”旁边添加一栏,说Y代表满足要求,N代表不符合要求。

有人可以帮我吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

也许使用dplyr::group_bydplyr::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)