r - 删除ff包行

标签 r ff ffbase

从现在开始,我一直在使用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/

相关文章:

用于添加向量元素的 Rcpp 函数

r - 在大型 ffdfs 上使用 apply

r - 如何在 ff 或 ffbase 中将因子向量转换为 POSIXct

r - ff包写入错误

r - 如何按日期在 R 中对大型数据框 (ffdf) 进行子集化?

r - 逐行检查多列的条件

r - 当新列名作为字符向量给出时,将数据分组到 `data.table` 中的好方法

r - 如何增加ggplot2条形图中条形之间的间距?

r - R : how to move data from one drive to another, 中的 ff 包并更改文件名