我想按索引对 ffdf 对象进行子集化,返回另一个 ffdf 对象。
subset.ffdf 上的帮助文件表明您可以将范围索引 (ri) 对象作为参数传递,但是当我尝试时:
data_subset <- subset.ffdf(data, ri(1, 1e5))
我收到了这个错误:
Error in which(eval(e, nl, envir)) : argument to 'which' is not logical
根据 You-Leee 的建议,我尝试使用以下代码传递感兴趣索引的逻辑向量:
n <- length(data[[1]]) #10.5 million
logical_index = c(1, 1e5) == seq.int(1, n)
data_subset <- subset(data, logical_index)
我尝试运行它两次,每次我的 R-Studio 崩溃并显示消息R encountered a fatal error. The session was terminated.
起初我认为这可能是内存限制,但查看我的活动监视器,我仍然有 8gb 中的 4gb 可用。此外,无论如何,这不应该加载太多到内存中。