我想知道是否有一种“正确”的方法来对 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"
从那以后我了解到对 a 进行子集化的“正确”方法big.matrix
是使用sub.big.matrix
尽管这仅适用于连续的列和/或行。当前未实现非连续子集化。
sm <- sub.big.matrix(big, firstCol=1, lastCol=2)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)