0

有没有办法在不考虑其唯一值的情况下计算向量中的元素?例如,我有一个向量 vec <- as.vector(c("A","A","B","B","A","A","B","B"))。我想计算向量中的元素,所以它会返回一个向量[1] 2 2 2 2

我试过使用包vec_count中的函数vctrs

my_vec <- as.vector(c("A","A","B","B","A","A","B","B"))
my_count <- vec_count(my_vec, sort = "key")
my_count$count
[1] 4 4

但是这个函数考虑了向量中的唯一元素,这不是我想要的。任何想法如何做到这一点?

4

1 回答 1

1

由于您在这里计算连续序列,我们可以使用rle.

rle(vec)$lengths
#[1] 2 2 2 2

类似的东西data.table rleid

table(data.table::rleid(vec))
#1 2 3 4 
#2 2 2 2 
于 2020-09-10T09:36:47.937 回答