當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R rle 遊程長度編碼


R語言 rle 位於 base 包(package)。

說明

計算向量中相等值遊程的長度和值 - 或逆運算。

用法

rle(x)
inverse.rle(x, ...)

## S3 method for class 'rle'
print(x, digits = getOption("digits"), prefix = "", ...)

參數

x

rle() 的向量(原子,不是列表); inverse.rle() 的類 "rle" 的對象。

...

進一步的參數;這裏忽略了。

digits

用於打印的有效位數,請參閱print.default

prefix

字符串,添加到每個打印行的前麵。

細節

‘vector’ 在 is.vector 的意義上使用。

缺失值被視為與前一個值不相等,即使前一個值也缺失。

inverse.rle()rle() 的反函數,從運行中重建 x

rle() 返回 "rle" 類的對象,它是一個包含組件的列表:

lengths

包含每次運行長度的整數向量。

values

lengths 長度相同且具有相應值的向量。

inverse.rle() 返回一個原子向量。

例子

x <- rev(rep(6:10, 1:5))
rle(x)
## lengths [1:5]  5 4 3 2 1
## values  [1:5] 10 9 8 7 6

z <- c(TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, TRUE, TRUE, TRUE)
rle(z)
rle(as.character(z))
print(rle(z), prefix = "..| ")

N <- integer(0)
stopifnot(x == inverse.rle(rle(x)),
          identical(N, inverse.rle(rle(N))),
          z == inverse.rle(rle(z)))

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Run Length Encoding。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。