【问题标题】:How to rbind matrices based on objects names?如何根据对象名称来绑定矩阵?
【发布时间】:2013-08-08 11:35:37
【问题描述】:

我有几个矩阵我想rbind 在一个摘要中。它们是不同功能的对象产品,它们的名称具有相同的模式。

我想做的是告诉 R 查找所有具有该通用模式的对象,然后 rbind 它们。

假设这些矩阵存在:

commonname.N1<-matrix(nrow=2,ncol=3)
commonname.N2<-matrix(nrow=2,ncol=3)
commonname.M1<-matrix(nrow=2,ncol=3)

我尝试了这样的方法来获取它们:

mats<-grep(x= ls(pos=1), pattern="commonname.", value=TRUE)
mats
[1] "commonname.N1" "commonname.N2" "commonname.M1"    

我不知道如何告诉rbind 将其用作参数。基本上,我会给出与rbind(commonname.N1, commonname.N2, commonname.M1) 在此示例中所做的相同的矩阵。

我已经尝试过

mats<-toString(mats)
rbind(mats2)

但这只是创建了一个以不同对象作为名称的矩阵。

here 提出了类似的问题,但是:

mats<-as.list(mats)
do.call(what=rbind, args=as.list(mats))

不做这项工作。

抱歉,如果我在某处遗漏了一些基本的东西,但我无法弄清楚,而且我对 R 比较陌生。

【问题讨论】:

    标签: r rbind


    【解决方案1】:

    使用mget:

    do.call(rbind,mget(mats))
    

    【讨论】:

    • 干杯,只需添加 envir = .GlobalEnv 即可使其工作。 do.call(rbind,mget(mats, envir = .GlobalEnv))
    猜你喜欢
    • 2013-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-28
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多