【发布时间】:2011-01-29 16:10:26
【问题描述】:
我有两个稀疏矩阵,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
有没有办法在没有暴力循环的情况下做到这一点?
【问题讨论】:
-
只要匹配位置和名称就可以了: m1
-
谢谢,我可以重新编写代码来处理这个问题。
标签: r matrix sparse-matrix cbind