2

R パッケージで正方行列を分解しようとしてirlbaいますが、次のメッセージが表示されます。

"V[, 1:(k + dim(F)[2])] のエラー <- cbind(V[, 1:(dim(Bsvd$v)[1]), drop = FALSE] %*% : 数値置換するアイテムの数が置換長さの倍数ではありません」

ただし、svdまたは作業で行列を分解します。同じ問題をほのめかしているこの投稿を他eigenの場所で見つけました(応答なし)。

これを理解するのを手伝ってくれる人に感謝します!

コード:

library(irlba)

C.i <- structure(c(0.107821513562202, 0.0629415996952743, -0.0346069282137902, 
-0.0410208578535759, 0.0629415996952743, 0.136205395050303, -0.00378166611862939, 
0.00237156895349009, -0.0346069282137902, -0.00378166611862939, 
0.0122114763151942, -0.00635448918784993, -0.0410208578535759, 
0.00237156895349009, -0.00635448918784993, 0.0431193044924), .Dim = c(4L, 4L), 
.Dimnames = list(c("Sepal.Length", "Sepal.Width", "Petal.Length",
"Petal.Width"), c("Sepal.Length", "Sepal.Width", "Petal.Length", 
"Petal.Width")))

irlba(C.i, nu=1, nv=1)

# These work
svd(C.i)
eigen(C.i)
4

2 に答える 2

1

私はirlba(C.i, nu=0, nv=0)得る:

$d
[1] 0.1938809

$u
           [,1]
[1,]  0.6595482
[2,]  0.7216141
[3,] -0.1355695
[4,] -0.1609040

$v
           [,1]
[1,]  0.6590202
[2,]  0.7214017
[3,] -0.1432499
[4,] -0.1573256

$iter
[1] 1

$mprod
[1] 6

これはあなたが探していたものですか?

(回答で質問して申し訳ありませんが、質問にコメントするのに十分なポイントがありません。:| )

于 2014-09-07T21:44:07.413 に答える
0

パッケージ作成者からエラーに関する回答を受け取りました - これは確かにバグでした。この問題は、irlba パッケージの更新バージョンで修正されました。更新されたパッケージは最終的に CRAN に送信されますが、当面は GitHub 経由でインストールできます。

remove.packages("irlba")
library("devtools")
install_github("IRL","bwlewis",quick=TRUE)

library("irlba")

C.i <- structure(c(0.107821513562202, 0.0629415996952743, -0.0346069282137902, 
-0.0410208578535759, 0.0629415996952743, 0.136205395050303, -0.00378166611862939, 
0.00237156895349009, -0.0346069282137902, -0.00378166611862939, 
0.0122114763151942, -0.00635448918784993, -0.0410208578535759, 
0.00237156895349009, -0.00635448918784993, 0.0431193044924), .Dim = c(4L, 4L), 
.Dimnames = list(c("Sepal.Length", "Sepal.Width", "Petal.Length",
"Petal.Width"), c("Sepal.Length", "Sepal.Width", "Petal.Length", 
"Petal.Width")))

irlba(C.i, nu=1, nv=1)

#$d
#[1] 0.1938898
#
#$u
#           [,1]
#[1,]  0.6593389
#[2,]  0.7216000
#[3,] -0.1349355
#[4,] -0.1623519
#
#$v
#           [,1]
#[1,]  0.6593384
#[2,]  0.7216001
#[3,] -0.1349364
#[4,] -0.1623526
#
#$iter
#[1] 2
#
#$mprod
#[1] 10
于 2014-09-14T18:25:08.810 に答える