gpt4 book ai didi

r - 给定具有相同列数的向量,如何选择矩阵的元素?

转载 作者:行者123 更新时间:2023-12-05 02:32:52 25 4
gpt4 key购买 nike

我有一个包含 5 行和 4 列的矩阵和一个包含 4 个元素的向量。我想提取矩阵中的 4 个元素,其中对应的向量值是该矩阵元素的行索引。

这是我的数据:

mat1.data <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
mat1 <- matrix(mat1.data,nrow=5,ncol=4,byrow=TRUE)
mat1

vec1<-c(4,2,5,1)

我想要得到的输出是:

c(13,6,19,4)

最佳答案

我们可以构造一个行/列索引的矩阵来提取。列序列可以是seq_len(ncol

mat1[cbind(vec1, seq_len(ncol(mat1)))]
[1] 13 6 19 4

或者另一种选择是提取并使用diag

diag(mat1[vec1,])
[1] 13 6 19 4

关于r - 给定具有相同列数的向量,如何选择矩阵的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71117361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com