如何根据R中的字符串向量获得数字递增的向量?



我有这个字符串向量(strings_input),我想把它变成一个像expected_output一样的数字向量。


strings_input <- c("a", "a", "b", "b", "b", "c", "c", "a", "b", "b")
some function:
expected_output <- c(1, 1, 2, 2, 2, 3, 3, 4, 5, 5)

使用data.table::rleid:

data.table::rleid(strings_input)
# [1] 1 1 2 2 2 3 3 4 5 5

Or in base R:

with(rle(strings_input), rep(seq(lengths), lengths))
# [1] 1 1 2 2 2 3 3 4 5 5

还有一个dplyrconsecutive_id:

dplyr::consecutive_id(strings_input)
# [1] 1 1 2 2 2 3 3 4 5 5

相关内容

  • 没有找到相关文章