我想知道是否有一种“正确”的方法来对 R 中的 big.matrix 对象进行子集化。对矩阵进行子集化很简单,但该类总是恢复为“矩阵”。当处理像这样的小数据集时,这不是问题,但处理大量数据集但处理非常大的数据集时,子集仍然可以从“big.matrix”类中受益。
require(bigmemory)
data(iris)
# I realize the warning about factors but not important for this example
big <- as.big.matrix(iris)
class(big)
[1] "big.matrix"
attr(,"package")
[1] "bigmemory"
class(big[,c("Sepal.Length", "Sepal.Width")])
[1] "matrix"
class(big[,1:2])
[1] "matrix"
最佳答案
从那以后,我了解到对 big.matrix
进行子集化的“正确”方法是使用 sub.big.matrix
虽然这仅适用于连续的列和/或行。当前未实现非连续子集化。
sm <- sub.big.matrix(big, firstCol=1, lastCol=2)
关于r - 对 big.matrix 进行子集化的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26495761/