查找特定值的最大运行长度

时间:2017-04-07 18:27:52

标签: r

我有一个我要分析运行长度的向量。为了便于解释,这是一个不公平的硬币翻转所以...... 100“H”和“T”......但是比T更多的是T

我用过

rle(sim) 

获得跑步长度。

我用过

max(rle(sim)$length) 

获取集合的最大运行长度。但是,我只想要它一定的价值,比如只说H。我该怎么做?

1 个答案:

答案 0 :(得分:2)

 set.seed(100)
 coins <- sample(c("H", "T"), 1000, replace = TRUE)
 rle_coins <- rle(coins)
 max(rle_coins$lengths[rle_coins$values == "H"])

使用tapply获取最大分组:

tapply(rle_coins$lengths, rle_coins$values, max)