【问题标题】:In R, when using named rows, can a sparse matrix column be added (concatenated) to another sparse matrix?在 R 中,使用命名行时,可以将稀疏矩阵列添加(连接)到另一个稀疏矩阵吗?
【发布时间】:2011-01-29 16:10:26
【问题描述】:

我有两个稀疏矩阵,m1m2

> m1 <- Matrix(data=0,nrow=2, ncol=1, sparse=TRUE, dimnames=list(c("b","d"),NULL))
> m2 <- Matrix(data=0,nrow=2, ncol=1, sparse=TRUE, dimnames=list(c("a","b"),NULL))
> m1["b",1]<- 4
> m2["a",1]<- 5
> m1
2 x 1 sparse Matrix of class "dgCMatrix"

b 4
d .
> m2
2 x 1 sparse Matrix of class "dgCMatrix"

a 5
b .
>

我想cbind()他们制作一个稀疏矩阵,例如:

  [,1] [,2] 
a    .    5
b    4    .
d    .    .

然而cbind() 忽略了命名的行:

> cbind(m1[,1],m2[,1])
  [,1] [,2]
b    4    5
d    0    0

有没有办法在没有暴力循环的情况下做到这一点?

【问题讨论】:

  • 只要匹配位置和名称就可以了: m1
  • 谢谢,我可以重新编写代码来处理这个问题。

标签: r matrix sparse-matrix cbind


【解决方案1】:

您应该将问题发送给 Matrix 包的大部分作者 Martin Maechler。有一个 cBind 函数,但目前它不识别行名,只识别维度,至少据我所知(即使将 deparse.level 参数增加到 2)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-18
    • 2017-06-15
    • 2018-01-19
    • 2018-08-07
    • 1970-01-01
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多