我有下面的矩阵垫
> mat
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9我想提取2,1和3,2的元素,换句话说,我希望输出是4和8。
> mat[[2,1], [3,2]] 不工作(错误)和
> mat[c(2,3), c(1,2)]
[,1] [,2]
[1,] 4 5
[2,] 7 8也不对。
用一行代码提取4和8的正确方法是什么?
我知道我可以单独提取它们,然后把它们放到同一个向量中,但这不是我想要做的.我在想有没有更干净的方法。
发布于 2020-09-05 11:33:23
您可以cbind/rbind位置来创建一个矩阵,该矩阵可以用于从mat获取值。
mat <- matrix(1:9, nrow = 3, byrow = TRUE)
mat[cbind(c(2, 3), c(1, 2))]
#With rbind
#mat[rbind(c(2, 1), c(3, 2))]
#[1] 4 8https://stackoverflow.com/questions/63753404
复制相似问题