我有一个如下所示的数据框:
Intid Ref RegNum Vetted Name Value
1 x A1 Yes A 45
1 x A1 Yes B 168
1 x A1 Yes C 303
2 x A1 No A 45
2 x A1 No B 85
2 x A1 No C 280
3 y B2 No A 23
3 y B2 No F 50
如何对其进行子集以使数据框看起来像这样;意味着仅保留Yes
RegNum
Vetted
值Yes
和No
的数据RegNum
以及No
Intid Ref RegNum Vetted Name Value
1 x A1 Yes A 45
1 x A1 Yes B 168
1 x A1 Yes C 303
3 y B2 No A 23
3 y B2 No F 50
的数据{1}}仅限值?
seek()
答案 0 :(得分:1)
dplyr
的一个想法可以是,
library(dplyr)
df %>%
group_by(RegNum) %>%
filter(Vetted == 'Yes'|all(Vetted == 'No'))
#Source: local data frame [5 x 6]
#Groups: RegNum [2]
# Intid Ref RegNum Vetted Name Value
# <int> <fctr> <fctr> <fctr> <fctr> <int>
#1 1 x A1 Yes A 45
#2 1 x A1 Yes B 168
#3 1 x A1 Yes C 303
#4 3 y B2 No A 23
#5 3 y B2 No F 50