假设我有一个长度为 10 的 Rle:

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 是一个 list 对象,其中 lengthsvalues 作为 list 的元素,我们可以提取 lengthssum

sum(b$lengths)
#[1] 10

关于r - 我可以在不使用逆的情况下获得 rle 对象的总长度吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38585095/

10-12 20:19