如何对矩阵进行子集以获取向量?
> (m <- matrix(1:15,nrow=5,ncol=3))
[,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15
> (v <- c(1,3))
[1] 1 3
> (u <- c(2,4))
[1] 2 4
我想要的是 vector :
> c(m[2,1],m[4,3])
[1] 2 14
但我得到的是一个矩阵:
> m[u,v]
[,1] [,2]
[1,] 2 12
[2,] 4 14
我想我可以使用diag
,但我宁愿一步到位。
答案 0 :(得分:0)
确保传递索引矩阵:
> m[cbind(u,v)]
[1] 2 14
对于单个点,转置为您提供矩阵:
> m[t(c(4,3))]
[1] 14
> m[t(c(2,1))]
[1] 2