按 R 中的连续值对数据框行进行分组

Ilproff_77

我需要按连续值对数据框进行分组。例如,给定这个数据框:

tibble( time = c(1,2,3,4,5,10,11,20,30,31,32,40) )

我想要一个分组列,如:

tibble( time = c(1,2,3,4,5,10,11,20,30,31,32,40), group=c(1,1,1,1,1,2,2,3,4,4,4,5) )

获取列组的 tidyverse(或基本 R)方法是什么?

阿克伦

我们可以diff在'time'的相邻值上使用,检查差值是否不等于1,然后通过取累积和(cumsum将逻辑向量更改为数字索引,以便每个TRUE值增加1

library(dplyr)
df1 %>% 
   mutate(grp = cumsum(c(TRUE, diff(time) != 1)))

-输出

# A tibble: 12 x 2
    time   grp
   <dbl> <int>
 1     1     1
 2     2     1
 3     3     1
 4     4     1
 5     5     1
 6    10     2
 7    11     2
 8    20     3
 9    30     4
10    31     4
11    32     4
12    40     5

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

按R中的列组长度对数据框进行排序

如何按R中的两个以上因素对数据进行分组

在R中按类型对数据进行排序

如何按R中的另一个数据框对数据框中的列顺序进行排序?

如何按列值对熊猫数据框的行进行分组?

按r中的连续值分组

在R中按特定顺序对数据进行排序

如何按R数据帧中的连续行分组?

按索引对数据框行进行分组

如何按季度对数据框中的行进行分组?

如何按R中每列的最后一个值对数据框中的列进行重新排序

按包含特定值R的列对数据框进行分组

如何按r中的时差对数据进行分组?

按R中的多个列(一组较大的列)对数据框进行排序

R:按列的最常用值对数据进行排序

按R中的ALL列对数据框进行排序

按值组的连续日期范围对行进行分组

如何在不影响R中数据框现有维度的情况下通过操作(均值)按日期对数据进行分组?

如何按R中的列名对数据框进行排序?

按列对数据框中的某些行进行排序

R:对数据框中的行进行重新排序

按日期(包括列标题)对数据框列进行分组,并总结 R 中 1 和 0 的实例

按 R 中的最小列值对数据框列表进行排序

在R base中的数据框中按行对数值进行排名

R 中的数据框按列中的重复值分组

R:按字母数字列对数据框中的所有列进行排序

在 R 中按列对数据框进行分组

如何按r中数据框中的行对数字数据进行排名?

在 r 中按日期对数据框顺序应用方程