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)