假设我有一个巨大的m*n矩阵X(太大而无法读入内存)和二进制数字向量V的长度m.我的目标是读取X对应于V等于1(而不是对应于那些V[i] == 0)的行到专用data table/ matrix通过包(例如(但不一定相同)bigmemory或)的行ff.仅适用于对应的行V[i] == 1.
这可以通过黑客攻击来完成nrows,并skip在等read.table,但我在寻找一个bigmemory,ff等.由于RAM不足导致类型解决方案.
这是一个MWE,不能反映我的真实大小X.
X <- array(rnorm(100*5),dim=c(100,5))
write.csv(X,"target.csv")
V <- sample(c(rep(1,50),rep(0,50))) #Only want to read in half the rows corresponding to 1's
rm(X)
#Now ... How to read "target.csv"?
Run Code Online (Sandbox Code Playgroud) 我一直在尝试为包含 7000 万条记录的数据集构建模型R。我尝试了所有可能的选项来构建模型,例如clustering使用ff库h2o(这会引发我的错误)bigmemory和biganalytics包。使用R我尝试过的选项,我无法处理如此庞大的数据。
您能否建议我除此之外的任何工作选项,以便我可以使用它来构建模型。我的笔记本电脑是 4GB RAM 和 64 位处理器。