m = matrix(1:10, nrow = 5, ncol = 2)
y = c(1,2,2,1,1)我想要一个向量v,它的i第四元素是m[i,y[i]]。
我原以为m[,y]会这么做,但这显然是错误的。
发布于 2016-05-07 23:35:46
您可以使用cbind()创建用于索引的矩阵。
m[cbind(seq_along(y), y)]
# [1] 1 7 8 4 5发布于 2016-05-07 23:40:36
另外,由于在本例中我们选择的是行1, 2, ..., nrow(m),
diag(m[, y])
# [1] 1 7 8 4 5https://stackoverflow.com/questions/37094665
复制相似问题