3

長さ 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
4

3 に答える 3

6

はとの要素をrle持つlistオブジェクトであるため、とを抽出できます。lengthsvalueslistlengthssum

sum(b$lengths)
#[1] 10
于 2016-07-26T08:47:32.190 に答える