我有一个矩阵(m.idx),其中包含我想要索引的向量的位置元素。
假设 x 是我的向量。
> 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
但似乎有一种更简单的方法来索引这些值。最佳(且适用于大型数据集的)方式是什么?