R语言 分组并基于值生成唯一标识符

i7uaboj4  于 2023-04-27  发布在  其他
关注(0)|答案(2)|浏览(128)
df.1 <- data.frame (value = c(1, 1, 90, 1, 1, 32, 1, 1, 1)) %>%

我想对数据进行分组,以便当value大于1时组号发生变化。在df中,第一个值始终为1。
预期成果:

> df.2
  value nr.group
1     1        1
2     1        1
3    90        2
4     1        2
5     1        2
6    32        3
7     1        3
8     1        3
9     1        3

consecutive_id没有产生预期的结果

zbdgwd5y

zbdgwd5y1#

在碱R中:

df.1$nr.group <- cumsum(df.1$value > 1) + 1
egdjgwm8

egdjgwm82#

在基类R中,你可以在布尔值df.1$value > 1上使用cumsum

df.1["group"] <- cumsum(df.1$value > 1) + 1

输出:

value group
1     1     1
2     1     1
3    90     2
4     1     2
5     1     2
6    32     3
7     1     3
8     1     3
9     1     3

相关问题