दिलचस्प पोस्ट
बिना छपाई (लिनक्स) के बिना टर्मिनल में मुद्रित संदेश कैसे अपडेट करें क्यों Iostream :: eof एक पाश स्थिति के अंदर गलत माना जाता है? कैसे अपाचे POI का उपयोग कर एक Word दस्तावेज़ बनाने के लिए? Javadoc: package.html या पैकेज- info.java पायथन कक्षाओं में समानता ("समानता") का समर्थन करने के लिए शानदार तरीके जर्सी एएस 7 पर जर्सी के एक वेबपेज की तैनाती रनटाइम पर DLL पथ प्राप्त करें मैं सी # में दो सरणियों को कैसे जोड़ूं? फॉर्म इनपुट प्रकार = "सबमिट करें" से Fancybox (या समकक्ष) खोलें कैसे जावा में एक सापेक्ष पथ को परिभाषित करें z- सूचकांक और iFrames! फोरट्रान में एक वेरिएबल के फ़ंक्शन के रूप में एकाधिक चर के बाहरी फ़ंक्शन उत्तीर्ण करना उत्पादन में मेमोरीस्टोर का उपयोग करना पायथन – कैलेंडर.टाइमगाम () बनाम time.mktime () क्या मैं संपत्ति के रूप में एक मेवेन निर्भरता के मार्ग का उपयोग कर सकता हूं?

डेटा। योग्य में एची

मैं वास्तव में क्या पर कोई दस्तावेज खोजने के लिए प्रतीत नहीं कर सकते। data.table .EACHI करता है मैं दस्तावेज़ीकरण में इसे का संक्षिप्त विवरण देखता हूं:

ज्ञात समूहों के सबसेट के लिए एकत्रीकरण विशेष रूप से कुशल है जब उन समूहों को मैं और सेटिंग by=.EACHIby=.EACHI जब i एक डाटा डब्लूटीबल, DT[i,j,by=.EACHI] DT के समूह के लिए j मूल्यांकन करता है कि i प्रत्येक पंक्ति में मिलती है। हम प्रत्येक समूह द्वारा इस समूह को बुलाते हैं I

लेकिन DT के संदर्भ में "समूह" क्या मतलब है? क्या एक ऐसा समूह है जो DT पर सेट की गई कुंजी से निर्धारित होता है? समूह क्या हर विशिष्ट पंक्ति है जो चाबी के रूप में सभी कॉलम का उपयोग करता है? मैं पूरी तरह से समझता हूं कि DT[i,j,by=my_grouping_variable] तरह कुछ कैसे चलाया जाता है लेकिन DT[i,j,by=my_grouping_variable] कैसे .EACHI काम करेगा के रूप में उलझन में हूँ। क्या कोई कृपया समझा सकता है?

Solutions Collecting From Web of "डेटा। योग्य में एची"

मैंने इसे यहां सूची में जोड़ा है । और उम्मीद है कि हम योजनाबद्ध रूप में वितरित करने में सक्षम होंगे


इसका कारण सबसे अधिक संभावना है कि by=.EACHI एक हालिया विशेषता है (1.9.4 से), लेकिन यह क्या नहीं है । मुझे एक उदाहरण के साथ समझाइए। मान लीजिए हमारे पास दो डेटा हैं X Y X और Y :

 X = data.table(x = c(1,1,1,2,2,5,6), y = 1:7, key = "x") Y = data.table(x = c(2,6), z = letters[2:1], key = "x") 

हम जानते हैं कि हम X[Y] शामिल हो सकते हैं यह सबसेट ऑपरेशन के समान है, लेकिन data.tables का उपयोग करते data.tables (पूर्णांक / पंक्ति नाम या तार्किक मानों के बजाय) Y में प्रत्येक पंक्ति के लिए, Y के मुख्य कॉलम लेते हुए, यह X की कुंजी कॉलम (+ Y में कॉलम) में मिलते-जुलती पंक्तियां पाता है और लौटाता है।

 X[Y] # xyz # 1: 2 4 b # 2: 2 5 b # 3: 6 7 a 

अब हम कहते हैं कि हम चाहते हैं कि हम Y के कुंजी कॉलम (यहां केवल एक कुंजी कॉलम) से प्रत्येक पंक्ति के लिए, हम X में मैचों की संख्या प्राप्त करना चाहते हैं। data.table संस्करणों में <1.9.4 , हम इसे केवल निर्दिष्ट करके कर सकते हैं। j में निम्नानुसार है:

 # < 1.9.4 X[Y, .N] # x N # 1: 2 2 # 2: 6 1 

यह जो स्पष्ट रूप से करता है, j की उपस्थिति में, X ( X में पंक्ति में Y ) के प्रत्येक मिलान परिणाम पर j-expression मूल्यांकन करें। यह बिना-बिना या निहित-द्वारा बुलाया गया था, क्योंकि ऐसा लगता है कि एक छिपा हुआ है।

मुद्दा यह था कि यह हमेशा आपरेशन by एक प्रदर्शन करेगा। इसलिए, अगर हम शामिल होने के बाद पंक्तियों की संख्या जानना चाहते हैं, तो हमें करना होगा: X[Y][ .N] (या बस nrow(X[Y]) इस मामले में)। यही है, हम एक ही कॉल में j अभिव्यक्ति नहीं कर सकते हैं अगर हम by-without-by चाहते हैं परिणामस्वरूप, जब हमने X[Y, list(z)] , तो यह by-without-by उपयोग by-without-by list(z) का मूल्यांकन by-without-by और इसलिए थोड़ा धीमा था।

इसके अतिरिक्त data.table उपयोगकर्ताओं ने इसे स्पष्ट करने के लिए अनुरोध किया – इसे और अधिक संदर्भ के लिए देखें।

इसलिए by=.EACHI जोड़ा गया था। अब, जब हम करते हैं:

 X[Y, .N] # [1] 3 

यह करता है कि इसका क्या मतलब है (भ्रम से बचा जाता है) यह शामिल होने से उत्पन्न पंक्तियों की संख्या देता है

तथा,

 X[Y, .N, by=.EACHI] 

Y में प्रत्येक पंक्ति के लिए मिलान वाली पंक्तियों पर j एक्सपोजियन का मूल्यांकन करता है ( Y के कुंजी कॉलम से मूल्य के लिए यहां पर) इसका उपयोग करके इसे देखना आसान होगा which=TRUE

 X[.(2), which=TRUE] # [1] 4 5 X[.(6), which=TRUE] # [1] 7 

अगर हम चलते हैं। प्रत्येक के लिए, तो हमें 2,1 मिलना चाहिए।

 X[Y, .N, by=.EACHI] # x N # 1: 2 2 # 2: 6 1 

इसलिए हमारे पास अब दोनों कार्यशीलताएं हैं उम्मीद है की यह मदद करेगा।