r - 对 big.matrix 进行子集化的正确方法

标签 r subset r-bigmemory

我想知道是否有一种“正确”的方法来对 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/

相关文章:

r - R 中新客户和回头客的数量

r - 在ggplot中的连续轴上格式化数字

r - 使用 bigmemory 和 irlba 对大矩阵进行 SVD 的问题

R:大数据的Distm?计算两个矩阵之间的最小距离

c - R包开发: how to check whether the type of SEXP is "big.matrix"?

r - 生成 knitr 报告

R Shiny 隔离 react 数据.frame

r - 选择前 n 列(基于聚合)

r - 从 R 中的列表中提取多个对象

list - 在序言中找到列表的所有 k 长度子集