2012-12-10 42 views
5

自從現在我已經使用ff包來處理大數據。我所使用的R對象大約有130.000.000行和14列。其中兩列「溫度」和「降水量」缺少「不適用」值,因此我需要刪除這些行才能繼續工作。 從來就一直在努力做像我會在一個正常的[R對象:刪除行ff包

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

但我不斷收到一個錯誤:

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

有誰已經能夠在ffdf刪除行目的? 我很感激任何幫助。

回答

7

基於邏輯ff_vector的索引在ff中是不可能的,你需要提供一個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)) 
+0

我剛纔看到你的回答,非常感謝你的幫助。我會檢查一下看看它是怎麼回事。 – lpchaparro