कॉपी किए बिना ही उप सेट चुनने वहाँ एक प्रति चयनित डेटा की किए बिना वस्तुओं (डेटा फ्रेम, मैट्रिक्स, वैक्टर) से एक सबसेट चयन करने के लिए एक तरीका है?आर:
मैं काफी बड़े डेटा सेट के साथ काम करता हूं, लेकिन उन्हें कभी नहीं बदलता। हालांकि अक्सर सुविधा के लिए मैं संचालित करने के लिए डेटा के सबसेट का चयन करता हूं। प्रत्येक बार एक बड़े सबसेट की प्रतिलिपि बनाना बहुत यादगार होता है, लेकिन सामान्य इंडेक्सिंग और subset
(और इस प्रकार xapply()
फ़ंक्शंस फ़ंक्शन) चयनित डेटा की प्रतियां बनाते हैं। इसलिए मैं ऐसे कार्यों या डेटा संरचनाओं की तलाश में हूं जो इस मुद्दे को दूर कर सकते हैं।
कुछ संभव दृष्टिकोण है कि मेरी जरूरतों और उम्मीद है कि फिट हो सकता कुछ आर संकुल में लागू किया जाता है:
- तंत्र, यानी डेटा संरचनाओं कि केवल कॉपी कर रहे हैं कॉपी-ऑन-लिखना जब आप जोड़ने या मौजूदा तत्वों को फिर से लिखने ;
- अपरिवर्तनीय डेटा संरचनाएं, केवल डेटा संरचना के लिए अनुक्रमित जानकारी को पुनर्निर्मित करने की आवश्यकता है, लेकिन इसकी सामग्री नहीं (जैसे स्ट्रिंग से सबस्ट्रिंग को केवल छोटे ऑब्जेक्ट बनाने के लिए जो लंबाई और एक ही चार सरणी में पॉइंटर बनाता है);
xapply()
ऐसे समूह जो सबसेट नहीं बनाते हैं।
मुझे लगता है कि आपको 'data.table' पैकेज को देखना चाहिए (कोई आपको अधिक जानकारी देने के लिए जल्द ही यहां दिखाएगा ...) –
डेटाबेस इंटरफेस स्पष्ट रूप से जांच कर रहे हैं कि आपको क्या जांच करनी चाहिए। आर में बहुत अधिक चीज पास-दर-वादा है जो इस समय प्रभावी रूप से पास-दर-मूल्य बन जाती है, सब कुछ सबसेट में करने की ज़रूरत होती है। –
@ बेनबॉल्कर: धन्यवाद, 'data.table' अच्छा पैकेज प्रतीत होता है, लेकिन दुर्भाग्यवश यह ज्यादातर मामलों में मेरी आवश्यकताओं के अनुरूप नहीं है। विशेष रूप से, 'data.table' का एक और इंडेक्सिंग मॉडल होता है और' डेटा [1:50, 1:10] '(यानि दोनों पंक्ति और कॉलम द्वारा चयन) और कई रैखिक जैसे चयन करने के लिए इसे अधिक कठिन (और धीमा) बनाता है बीजगणित संचालन।मैं अंतरिक्ष और समय दोनों को बचाने के लिए अपने डेटा फ्रेम के बजाय मैट्रिक्स का उपयोग करने के बारे में सोच रहा था, लेकिन मैट्रिस की सीमाएं भी हैं, इसलिए मैं वैकल्पिक विकल्पों की भी तलाश कर रहा हूं। – ffriend