我想转换一个向量:
1 1 2 2 3 3
至
1 2 3 1 2 3
怎么做?非常感谢。
我们可以用 rbind/split
c(do.call(rbind, split(v1, v1)))
#[1] 1 2 3 1 2 3
或者,如果有数目不等的每个元素的重复的,得到order
的rowid
library(data.table)
v1[order(rowid(v1))]
#[1] 1 2 3 1 2 3
或搭配 base R
v1[order(ave(v1, v1, FUN = seq_along))]
#[1] 1 2 3 1 2 3
v1 <- c(1, 1, 2, 2, 3, 3)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句