5

我有两个稀疏矩阵,m1并且m2

> 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

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

4

1 回答 1

2

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

于 2010-03-21T01:45:10.370 回答