Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个整数向量: a <- c(1,1,3,1,4) 其中 a 中的每个元素表示其索引应在新向量中复制多少次。
a <- c(1,1,3,1,4)
所以得到的向量应该是: b <- c(1,2,3,3,3,4,5,5,5,5)
b <- c(1,2,3,3,3,4,5,5,5,5)
最有效的方法是什么?
例如使用rep:
rep
rep(seq_along(a),a) 1 2 3 3 3 4 5 5 5 5
另一个效率较低的选择是使用inverse.rle:
inverse.rle
inverse.rle(list(lengths=a,values=seq_along(a))) [1] 1 2 3 3 3 4 5 5 5 5