【问题标题】:How do I calculate the length of consecutive runs of events, e.g. wins, visits, in R如何计算事件连续运行的长度,例如在 R 中获胜、访问
【发布时间】:2010-06-03 18:05:55
【问题描述】:

我有一组日期 - 每个日期都有一个 0/​​1 代码 - 用于表示我将称之为“访问”的事件的存在。
例如,对于第 1 天到第 12 天,当我在第 3、5、6 天访问时,我可以获得向量 (0,0,1,0,1,1,1,1,0,0,0,1) ,7,8 和 12。我想应用一些函数来给我向量 (1,4,1),这意味着 3 组访问时间分别为 1、4 和 1 天。很容易找到 0。我想不出将滞后和累积总和结合起来以获得 1 天访问或延长访问。

【问题讨论】:

标签: r


【解决方案1】:

也许用rle:

x=c(0,0,1,0,1,1,1,1,0,0,0,1)

runs=rle(x)
Run Length Encoding
  lengths: int [1:6] 2 1 1 4 3 1
  values : num [1:6] 0 1 0 1 0 1

runs$lengths[runs$values!=0]
[1] 1 4 1

【讨论】:

  • 顺便说一句,在帮助中搜索“运行长度”不会返回 rle。必须有人更新该帮助文件,使其包含该短语(“运行长度”确实有效)。
猜你喜欢
  • 1970-01-01
  • 2021-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-11
  • 1970-01-01
相关资源
最近更新 更多