用 rle 執行長度編碼

行程編碼捕獲向量中連續元素的執行長度。考慮一個示例向量:

dat <- c(1, 2, 2, 2, 3, 1, 4, 4, 1, 1)

rle 函式提取每次執行及其長度:

r <- rle(dat)
r
# Run Length Encoding
#   lengths: int [1:6] 1 3 1 1 2 2
#   values : num [1:6] 1 2 3 1 4 1

每次執行的值都在 r$values 中捕獲:

r$values
# [1] 1 2 3 1 4 1

這捕獲了我們第一次看到 1 的執行,然後是 2 的執行,然後執行 3 的執行,然後執行 1 的執行,依此類推。

每次執行的長度都在 r$lengths 中捕獲:

r$lengths
# [1] 1 3 1 1 2 2

我們看到 1 的初始執行長度為 1,隨後的 2 的執行長度為 3,依此類推。