5

しばらく前から、ビッグデータを扱うために ff パッケージを使用しています。私が扱った R オブジェクトには、約 130.000.000 行と 14 列があります。これらの列のうち、Temperature と Precipitation の 2 つに欠損値「NA」があるため、作業を進めるにはこれらの行を削除する必要があります。私は通常のRオブジェクトのようにそれをやろうとしています:

data<-data[!is.na(data$temp),]

しかし、私はエラーが発生し続けます:

Error: vmode(index) == "integer" is not TRUE

ffdf オブジェクトの行を削除できた人はいますか? 助けていただければ幸いです。

4

1 に答える 1

7

ff では、論理 ff_vector に基づくインデックス付けはできません。ff 整数のベクトルを指定する必要があります。それが、エラー メッセージが伝えようとしている内容です。したがって、このようなサブセット化を行うことができます

require(ffbase)
idx <- !is.na(data$temp)
idx <- ffwhich(idx, idx == TRUE)
data <- data[idx, ]

または (バージョン 6.3 の ffbase を使用)

require(ffbase)
data <- subset(data, !is.na(temp))
于 2012-12-10T20:00:38.290 に答える