计算R中a big.matrix的对角线
Calculate the diagonal of a big.matrix in R
我正在处理几个 1.3e6 行的大平方矩阵,我想要所有这些矩阵的对角线。我需要一种有效的方法来做到这一点,但我不能使用 diag()
library(bigmemory)
A=big.matrix(nrow=1.3e6,ncol=1.3e6,init=3)
diag(A)
有什么想法吗?
非常感谢您的宝贵时间
好的,其实这里不需要Rcpp。
只需使用两列的特殊矩阵访问器:
library(bigmemory)
X <- big.matrix(10, 10); X[] <- 1:100
d <- min(dim(X))
X[cbind(1:d, 1:d)]
X[cbind(1:d, 1:d)]
将访问 X[1, 1]
、X[2, 2]
、...、X[d, d]
.
我正在处理几个 1.3e6 行的大平方矩阵,我想要所有这些矩阵的对角线。我需要一种有效的方法来做到这一点,但我不能使用 diag()
library(bigmemory)
A=big.matrix(nrow=1.3e6,ncol=1.3e6,init=3)
diag(A)
有什么想法吗? 非常感谢您的宝贵时间
好的,其实这里不需要Rcpp。 只需使用两列的特殊矩阵访问器:
library(bigmemory)
X <- big.matrix(10, 10); X[] <- 1:100
d <- min(dim(X))
X[cbind(1:d, 1:d)]
X[cbind(1:d, 1:d)]
将访问 X[1, 1]
、X[2, 2]
、...、X[d, d]
.