我可以在不使用逆的情况下获得rle对象的总长度吗?

让我们说我有一个像这样的Rle,长度为10:

b = rle(c("H", "T", "T", "H", "H", "H", "H", "H", "T", "H"))

如何在不使用inverse.rle的情况下获取此对象的长度?

length(inverse.rle(b))
# 10

我有一些代表染色体的稀疏Rles,它们可以有数亿的长度,所以我宁愿不使用逆.

akruns答案对我的数据不起作用:

> a
$mydata
numeric-Rle of length 57442693 with 12471 runs
  Lengths: 2709826     100   31062     100 ...       2     232     100      47
  Values :       0       1       0       1 ...       1       0       1       0

> a$lengths
NULL
最佳答案
由于rle是一个列表对象,其长度和值作为列表的元素,我们可以提取长度和总和

sum(b$lengths)
#[1] 10

转载注明原文:我可以在不使用逆的情况下获得rle对象的总长度吗? - 代码日志