我有两个稀疏矩阵,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
有没有办法在没有暴力循环的情况下做到这一点?
最佳答案 您应该将问题发送给Matrix Maechler,他是Matrix软件包的大部分作者.有一个cBind函数,但它目前还没有识别rownames,只有维度,至少就我所知(即使将deparse.level参数增加到2).