我有一个矩阵(m.idx),其中包含我想要索引的向量的位置元素。
> m.idx
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 3 4 5 6 7
[3,] 5 6 7 8 9
假设 x 是我的向量。
x <- c(9,3,2,5,3,2,4,8,9)
我想用相应的位置元素重新填充矩阵索引x
.
所以我会...
> m.pop
[,1] [,2] [,3] [,4] [,5]
[1,] 9 3 2 5 3
[2,] 2 5 3 2 4
[3,] 3 2 4 8 9
我可以通过以下方式以一种笨拙的方式做到这一点。
> m.pop <- t(matrix(t(matrix(x[c(t(m.idx))])),ncol(m.idx),nrow(m.idx)))
> m.pop
[,1] [,2] [,3] [,4] [,5]
[1,] 9 3 2 5 3
[2,] 2 5 3 2 4
[3,] 3 2 4 8 9
但似乎可能有一种更简单的方法来索引值。
最好的(对于大型集合来说是最快/高效的)方法是什么?