如何从 R 中的特定字符串按组创建序列?
我想在组中创建一个数字序列,但从特定的字符串开始。
在此示例中,如果字符串匹配UNP,则应从下一行开始。
Cola | Colb | Seq |
---|---|---|
A | HM | 0 |
A | Res | 0 |
A | UNP | 0 |
A | Res | 1 |
A | Res | 2 |
A | HM | 3 |
B | HM | 0 |
B | Res 0 B Res | 0 |
B | UNP | 0 |
B | RES | 1 |
B Res 1 B | UNP | 2 |
C | UNP | 0 |
CUMP 0仅应考虑UNP的第1个实例,而不是每个实例在每个组的UNP上
I would like to create a sequence of numbers within a group but starting from a specific string.
In this example, If the string matches UNP then sequence (seq
column) should start from the next row.
ColA | Colb | Seq |
---|---|---|
A | HM | 0 |
A | RES | 0 |
A | UNP | 0 |
A | RES | 1 |
A | RES | 2 |
A | HM | 3 |
B | HM | 0 |
B | RES | 0 |
B | UNP | 0 |
B | RES | 1 |
B | UNP | 2 |
C | UNP | 0 |
Only 1st instance of UNP should be considered not every instance on UNP for each group
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以首先创建一个指定“ UNP”的第一次出现的列,然后使用
cumsum()
和lag()
来计算seq
column 。由
You can first create a column specifying the first occurrence of "UNP", then use
cumsum()
andlag()
to calculate theSeq
column.Created on 2022-03-31 by the reprex package (v2.0.1)