【问题标题】:R - indirectly calling a matrix using a stringR - 使用字符串间接调用矩阵
【发布时间】:2011-02-27 08:58:20
【问题描述】:

示例: 有一个称为VE的数据矩阵 有一个字符串向量,其中第一个元素是字符串 VE。 我需要间接调用字符串并能够访问数据。 例如,如果我需要矩阵 VE 的第 6 列,那么我想做:

向量[1][,6]

基本上我需要 R 开始读取这些字符串,就好像它们是该页面中已经存在的矩阵名称一样。我需要这个语法是动态的,因为我把它放在一个循环中。

【问题讨论】:

  • 据我所知,R 没有指针。所以你必须使用一些解决方法,比如列表。但如果 R​​ 有指针,它会更好。

标签: r


【解决方案1】:

我想你在找get():

VE <- matrix(0,10,10)
vec <- c("VE","foo","bar")
get(vec[1])[,6]

编辑:

不过,这需要一个名为 VE 的全局对象,为了自动化,最好将矩阵(我假设还有更多?)保留在一个列表中,然后您就可以索引:

matrixlist <- list(VE = matrix(0,10,10))
vec <- c("VE","foo","bar")
matrixlist[[vec[1]]][,6]

【讨论】:

    猜你喜欢
    • 2011-05-02
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 2022-06-23
    • 1970-01-01
    • 2020-12-16
    相关资源
    最近更新 更多