【发布时间】:2015-02-20 03:54:37
【问题描述】:
假设我有两个矩阵:
> a
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 6 10 5 7 2 2 6
[2,] 10 6 7 7 4 3 12
[3,] 11 10 2 10 6 11 9
和
> b
[,1] [,2] [,3]
[1,] 4 1 4
[2,] 3 6 3
[3,] 2 5 2
a 和 b 中的行数相同。我正在寻找一种向量化的方法来逐行从b 中的列号指示的a 中提取项目。因此,结果c 应如下所示:
> c
[,1] [,2] [,3]
[1,] 7 6 7
[2,] 7 3 7
[3,] 10 6 10
a[,b[1,]] 或 a[,b[2,]] 或 a[,b[3,]] 设法分别获得第 1、2 和 3 行的正确结果。这完全可以用一个简单的矩阵函数来完成吗? apply有必要吗?
我曾尝试在Index values from a matrix using row, col indicies 中调整类似问题的解决方案,但不明白此处如何使用 cbind 来提取矩阵元素。
【问题讨论】: