【问题标题】:Counting chunk sizes in intermittent numerical sequences计算间歇数字序列中的块大小
【发布时间】:2017-09-23 07:16:04
【问题描述】:

我的 R 问题是如何从一个数值向量(或数据框)出发,例如:

a <- c(1,2,3,4,5,7,8,12,13,14,16,20)

检查连续序列,检索它们,获取它们的长度、最小值和最大值并返回如下内容:

    num  count
  1   1     5
  2   5     5
  3   7     2
  4   8     2
  5  12     3
  6  14     3
  7  16     1
  8  20     1

其中num 是每个段的最小值和最大值,count 是该段的长度。

分组不适用于整数,我该怎么办?

【问题讨论】:

    标签: r vector grouping subset sequence


    【解决方案1】:

    一种方法:

    chunkstart <- which(c(TRUE, diff(a) > 1))
    chunkend <- c(chunkstart[-1] - 1, length(a))
    chunksize <- chunkend - chunkstart + 1
    data.frame(num = c(rbind(a[chunkstart], a[chunkend])), count = rep(chunksize, each = 2))
    

    【讨论】:

      猜你喜欢
      • 2013-01-01
      • 1970-01-01
      • 2021-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多