假设我有这样的数据。
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代表不符合要求。
有人可以帮我吗? 谢谢!
答案 0 :(得分:1)
也许使用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)