1
我有一個整數向量: a <- c(1,1,3,1,4)
其中a中的每個元素表示其索引應該在新向量中複製多少次。通過索引複製向量元素
所以得到的載體應該是: b <- c(1,2,3,3,3,4,5,5,5,5)
什麼是做到這一點的最有效方法是什麼?
我有一個整數向量: a <- c(1,1,3,1,4)
其中a中的每個元素表示其索引應該在新向量中複製多少次。通過索引複製向量元素
所以得到的載體應該是: b <- c(1,2,3,3,3,4,5,5,5,5)
什麼是做到這一點的最有效方法是什麼?
例如使用rep
:
rep(seq_along(a),a)
1 2 3 3 3 4 5 5 5 5
另一個效率較低的選擇是使用inverse.rle
:
inverse.rle(list(lengths=a,values=seq_along(a)))
[1] 1 2 3 3 3 4 5 5 5 5