2012-12-10 22 views
5

थोड़ी देर के बाद से मैं बड़े डेटा के साथ काम करने के लिए एफएफ पैकेज का उपयोग कर रहा हूं। मैंने जिस आर ऑब्जेक्ट के साथ काम किया है, उसके बारे में 130,000.000 पंक्तियां और 14 कॉलम हैं। उन कॉलमों में से दो, तापमान और वर्षा में मूल्य "एनए" गुम हैं इसलिए मुझे अपने काम के साथ आगे बढ़ने के लिए उन पंक्तियों को हटाना होगा। मैं जैसे मैं एक सामान्य आर वस्तु में होगा यह करने के लिए कोशिश कर रहा:पंक्तियों को हटाएं एफएफ पैकेज

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

लेकिन मैं एक त्रुटि प्राप्त हो रही:

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

किसी को भी एक ffdf में पंक्तियों का हटाया करने में सक्षम है है आपत्ति? मैं किसी भी मदद की सराहना करता हूं।

उत्तर

7

एफएफ में लॉजिकल एफएफ_वेक्टर के आधार पर इंडेक्सिंग संभव नहीं है, तो आपको एफएफ पूर्णांक के वेक्टर की आपूर्ति करने की आवश्यकता है। यही त्रुटि संदेश आपको बताने की कोशिश कर रहा है। तो तुम, इस

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

मैं सिर्फ अपने जवाब को देखा है की तरह subsetting कर सकते हैं मदद करने के लिए बहुत बहुत धन्यवाद। मैं इसे देख लूंगा और देख सकता हूं कि यह कैसा चल रहा है। – lpchaparro

संबंधित मुद्दे