`runIrlbaSVD()` on DelayedMatrix
drisso opened this issue · comments
I'm trying to run
svd <- runIrlbaSVD(x)
where x
is a DelayedMatrix, but I get the following error:
Error in W[, j_w] <- avj :
number of items to replace is not a multiple of replacement length
This is the same error that I get if I run irlba::irlba()
directly on x
. Looking at the runIrlbaSVD()
code, it looks like it's indeed passing a DelayedMatrix (the result of standardize_matrix()
) to irlba::irlba()
.
Obviously, this works:
svd <- runIrlbaSVD(as.matrix(x))
But is there a way to use irlba on DelayedMatrices or should I stick to random or exact SVD?
This is a known issue, waiting for irlba update to propagate bwlewis/irlba#45.
Thanks, @LTLA!
This should be fixed in the latest irlba (2.3.3, just came out today).