2012-12-10 34 views
5

Từ lâu rồi tôi đã sử dụng gói ff để làm việc với dữ liệu lớn. Đối tượng R tôi đã làm việc với khoảng 130.000.000 hàng và 14 cột. Hai trong số các cột đó, Nhiệt độ và Lượng mưa đã thiếu các giá trị “NA” vì vậy tôi cần xóa các hàng đó để tiến lên phía trước với công việc của tôi. Tôi đã cố gắng để làm điều đó như tôi sẽ ở một đối tượng R bình thường:xóa các hàng ff gói

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

Nhưng tôi tiếp tục nhận được một lỗi:

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

Có ai đã có thể xoá các hàng trong một ffdf vật? Tôi đánh giá cao bất kỳ trợ giúp nào.

Trả lời

7

Lập chỉ mục dựa trên một ff_vector hợp lý là không thể trong ff, bạn cần phải cung cấp một vectơ của các số nguyên ff. Đó là những gì thông báo lỗi đang cố gắng cho bạn biết. Vì vậy, bạn có thể làm Subsetting như

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

hoặc (sử dụng phiên bản 6.3 của ffbase) này

require(ffbase) 
data <- subset(data, !is.na(temp)) 
+0

Tôi vừa nhìn thấy câu trả lời của bạn, cảm ơn bạn rất nhiều vì đã giúp đỡ của bạn. Tôi sẽ kiểm tra nó và xem nó như thế nào. – lpchaparro

Các vấn đề liên quan