从现在开始,我一直在使用ff包来处理大数据。我处理过的R对象大约有130.000.000行和14列。这些列中的两列,“温度”和“降水量”缺少值“NA”,因此我需要删除这些行,以便继续进行工作。
我一直在尝试像在普通R对象中那样进行操作:
data<-data[!is.na(data$temp),]
但我不断收到错误消息:
Error: vmode(index) == "integer" is not TRUE
有没有人能够删除ffdf对象中的行?
我将不胜感激。
最佳答案
在ff中无法基于逻辑ff_vector进行索引,您需要提供ff个整数的向量。这就是错误消息试图告诉您的内容。所以你可以这样子设置
require(ffbase)
idx <- !is.na(data$temp)
idx <- ffwhich(idx, idx == TRUE)
data <- data[idx, ]
或(使用ffbase 6.3版)
require(ffbase)
data <- subset(data, !is.na(temp))
关于r - 删除ff包行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13806353/