假设我有一个长度为 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
对象,其中 lengths
和 values
作为 list
的元素,我们可以提取 lengths
和 sum
sum(b$lengths)
#[1] 10
关于r - 我可以在不使用逆的情况下获得 rle 对象的总长度吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38585095/