rle()函数返回长度和值。但是每个值的长度如何呢?

时间:2014-11-30 20:09:04

标签: r

报告rle函数返回的元素的长度,但可以使用代码访问它?我知道我可以在length上运行rle$lengths函数来获得我想要的值。但是,当您查看rle返回的产品时,您会看到该数字显示在您的眼前。问题是,它是否可以检索?

v1 <- rep(seq(5),seq(3,7))
rle(v1)

给我们:

# Run Length Encoding
# lengths: int [1:5] 3 4 5 6 7
# values : int [1:5] 1 2 3 4 5

int [1:5]中的5是每个返回元素的长度。它已经存在,有没有办法检索它,或者我们是否必须使用length重新计算它?

1 个答案:

答案 0 :(得分:0)

str()返回传递给它的对象的结构,以便您可以看到实际存储了哪些组件。在这种情况下,使用str()上的rle(v)

v <- rle(v1)
str(v)
#List of 2
#$ lengths: int [1:5] 3 4 5 6 7
#$ values : int [1:5] 1 2 3 4 5
#- attr(*, "class")= chr "rle"

看起来输出是2的列表,所以你仍然需要使用类似length的东西来检索它。