【问题标题】:R: Accessing elements of 2D matrix with vectors of indicesR:使用索引向量访问二维矩阵的元素
【发布时间】:2020-04-12 17:45:01
【问题描述】:

假设我有一个 3 X 15 矩阵“phi”,我想从 phi 中创建一个对应于 i,j 组合的条目向量,其中 i 是长度为 900 的数字 1:3 向量,j 是长度为 900 的数字 1:15 向量。换句话说,我想要一个长度为 900 的 phi 值向量,其中第一个元素是 phi[i[1], j[1]],第二个元素是 phi[i[2], j[2]],等等

我最初的想法是phi_list <- phi[i, j],但这似乎会返回 i,j 值的每个组合。那么,我将如何构建这样一个向量呢?

感谢您的帮助!

【问题讨论】:

    标签: r matrix vector 2d


    【解决方案1】:

    在这种情况下,我们可以将索引用作matrixi 用于行索引,'j' 用于列索引

    phi[cbind(i, j)]
    #[1]  6 18 35
    

    如果我们在“i”和“j”中使用ijvector,它将返回matrix,方法是包含索引中包含的行和列,而不是选择与位置

    数据

    set.seed(24)
    phi <- matrix(1:50, 5, 10)
    i <- c(1, 3, 5)
    j <- c(2, 4, 7)
    

    【讨论】:

    • 笨蛋,这行得通!非常感谢!!根据 Stack Overflow 的说法,将在 10 分钟内“接受”这个答案!
    猜你喜欢
    • 2023-01-14
    • 2020-02-18
    • 2017-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-14
    • 2018-06-01
    相关资源
    最近更新 更多