【发布时间】:2022-08-17 01:33:54
【问题描述】:
我有数据df。我想删除最后的观察after matching two column values,即cate=Yes ~ value=1。
df <- data.frame(id=c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,5,5,6,6,6,6,7,7,7,7,7),
cate=c(\'No\',\'Yes\',\'Yes\',\'No\',\'Yes\',\'No\',\'Yes\',\'Yes\',\'Yes\',\'No\',\'No\',\'No\',\'Yes\',\'Yes\',
\'No\',\'No\',\'Yes\',\'Yes\',\'No\',NA,\'No\',\'Yes\',\'Yes\',\'Yes\',\'No\',\'Yes\',\'Yes\',\'Yes\',\'Yes\'),
value=c(0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0))
df
id cate value
1 1 No 0
2 1 Yes 0
3 1 Yes 0
4 1 No 0
5 1 Yes 0
6 2 No 0
7 2 Yes 1
8 2 Yes 0
9 2 Yes 0
10 2 No 0
11 3 No 0
12 3 No 0
13 3 Yes 0
14 3 Yes 0
15 3 No 0
16 4 No 0
17 4 Yes 0
18 4 Yes 0
19 5 No 0
20 5 Yes 0
21 6 No 0
22 6 Yes 1
23 6 Yes 0
24 6 Yes 0
25 7 No 0
26 7 Yes 1
27 7 Yes 1
28 7 Yes 0
29 7 Yes 0
我想在匹配cate=Yes and value=1 后删除每个组 id 的观察结果。
那么预期的输出是
id cate value
1 1 No 0
2 1 Yes 0
3 1 Yes 0
4 1 No 0
5 1 Yes 0
6 2 No 0
7 2 Yes 1
8 3 No 0
9 3 No 0
10 3 Yes 0
11 3 Yes 0
12 3 No 0
13 4 No 0
14 4 Yes 0
15 4 Yes 0
16 5 No 0
17 5 Yes 0
18 6 No 0
19 6 Yes 1
20 7 No 0
21 7 Yes 1