5

2 つのスパース行列が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 に答える