मेरे पास दो डेटा सेट हैं जो एक ही आकार के होने चाहिए लेकिन नहीं हैं। मुझे ए से मूल्यों को ट्रिम करने की आवश्यकता है जो बी में नहीं हैं और इसके विपरीत एक रिपोर्ट में जा रहे ग्राफ से शोर को खत्म करने के लिए। (चिंता न करें, इस डेटा स्थायी रूप से हटा नहीं किया जा रहा है!)मूल्यों के वेक्टर के आधार पर आर में डेटा फ्रेम में पंक्तियों को कैसे सब्सक्राइब कर सकता हूं?
मैं निम्नलिखित पढ़ा है:
- Selecting columns in R data frame based on those *not* in a vector
- http://www.ats.ucla.edu/stat/r/faq/subset_R.htm
- How to combine multiple conditions to subset a data-frame using "OR"?
लेकिन मैं मैं अभी भी इसे सही काम करने में सक्षम नहीं हूं। यहां मेरा कोड है:
bg2011missingFromBeg <- setdiff(x=eg2011$ID, y=bg2011$ID)
#attempt 1
eg2011cleaned <- subset(eg2011, ID != bg2011missingFromBeg)
#attempt 2
eg2011cleaned <- eg2011[!eg2011$ID %in% bg2011missingFromBeg]
पहला प्रयास परिणामस्वरूप सेटडिफ वेक्टर में पहले मान को समाप्त करता है। दूसरी कोशिश की पैदावार और बोझल त्रुटि:
Error in `[.data.frame`(eg2012, !eg2012$ID %in% bg2012missingFromBeg)
: undefined columns selected
क्या आपने 'विलय' करने का प्रयास किया था? – A5C1D2H2I1M1N2O1R2T1
मुझे नहीं लगता कि 'मर्ज' यहां उपयुक्त है। मैं नहीं चाहता कि डेटासेट को जोड़ा जाए। – Zelbinian
नहीं, मुझे लगता है कि 'विलय' बिल्कुल उचित है। एक आंतरिक जुड़ाव आपको केवल पंक्तियों को देगा जो ए और बी दोनों में हैं, फिर आप विलय को किसी भी अपरिवर्तनीय जोड़े जाने पर परिणाम के कॉलम को सब्सक्राइब कर सकते हैं। – joran