模拟数据中id是分组变量,n是每个id内的顺序变量(不改动的),event只有0和1,我想做两件事:1.在某个ID,比如20003,event在按n排序的情况下是以0开始的,我需要删除20003组内从n=1开始所有的0,但是当event变为1,也就是第三行(n=3),就不再删除其余数据,包括不再删除20003组内剩余的0(比如n=5或6),这个模拟数据只有2行,实际数据中行数不定,总样本量比较大,不可能手动删除。但是对于id20007,是以1开始的就不需要删除。
第二个问题是我想挑出id组内的特定event序列,比如在某个id内,我想明确event在按n排序的前提下是否存在以下序列(11000..(中间可有若干个0)..0011),比如在id=20003内,存在的event序列是110011(n=3到n=8),我还想知道后面出现的第一个1(id 20003,n=7),这个对应的n是几(这里是7),烦请大神们赐教,谢谢
| id | event | n |
200003 | 0 | 1 |
200003 | 0 | 2 |
200003 | 1 | 3 |
200003 | 1 | 4 |
200003 | 0 | 5 |
200003 | 0 | 6 |
200003 | 1 | 7 |
200003 | 1 | 8 |
200007 | 1 | 1 |
200007 | 1 | 2 |
200007 | 0 | 3 |
200007 | 0 | 4 |
200007 | 1 | 5 |
200007 | 1 | 6 |
200007 | 1 | 7 |