【发布时间】:2017-03-09 21:13:44
【问题描述】:
我想创建一个“段”ID,以便:
- 如果值(在一列中)与您保持相同段 ID 之前的行相同
- 但是,如果值(在一列中)与段 ID 递增 1 之前的行不同
我目前正在尝试通过以下方式实现这一目标:
require(dplyr)
person <- c("Mark","Mark","Mark","Mark","Mark","Steve","Steve","Tim", "Tim", "Tim","Mark")
df <- data.frame(person,stringsAsFactors = FALSE)
df$segment = 1
df$segment <- ifelse(df$person == dplyr::lag(df$person),dplyr::lag(df$segment),dplyr::lag(df$segment)+1)
但是通过这种方法我没有得到想要的结果。
任何帮助将不胜感激
【问题讨论】:
-
那么想要的输出是什么?最后一个标记的值是否与第一个标记相同?