如何转置 big.matrix 对象?
How to take transpose of a big.matrix object?
如何对 big.matrix 对象进行转置?
我有一个 8000 x 8000 big.matrix 的对象,我需要执行转置和乘法。怎么做?
b <- as.big.matrix(basis)
bTransb <- t(b) %*% b
这给了我以下错误
Error in t.default(b) : argument is not a matrix
我导入了大代数库。还是行不通。
我不确定 {bigmemory},但您可以使用 {bigstatsr}(免责声明:我是作者),它使用类似的格式。
# Sample data
a <- matrix(0, 8000, 8000); a[] <- rnorm(length(a))
# devtools::install_github("privefl/bigstatsr")
library(bigstatsr)
b <- as_FBM(a)
class(b)
btrans <- big_crossprodSelf(b)
dim(btrans)
class(btrans)
# Verification
all.equal(btrans[], crossprod(b[]))
如何对 big.matrix 对象进行转置?
我有一个 8000 x 8000 big.matrix 的对象,我需要执行转置和乘法。怎么做?
b <- as.big.matrix(basis)
bTransb <- t(b) %*% b
这给了我以下错误
Error in t.default(b) : argument is not a matrix
我导入了大代数库。还是行不通。
我不确定 {bigmemory},但您可以使用 {bigstatsr}(免责声明:我是作者),它使用类似的格式。
# Sample data
a <- matrix(0, 8000, 8000); a[] <- rnorm(length(a))
# devtools::install_github("privefl/bigstatsr")
library(bigstatsr)
b <- as_FBM(a)
class(b)
btrans <- big_crossprodSelf(b)
dim(btrans)
class(btrans)
# Verification
all.equal(btrans[], crossprod(b[]))