दिलचस्प पोस्ट
जेनेरिक बनाम इंटरफेस का व्यावहारिक लाभ एएसपी.नेट: इस विधि को एप्लिकेशन के प्री-स्टार्ट आरंभीकरण चरण के दौरान नहीं बुलाया जा सकता Java 8 में उदाहरण विधि संदर्भ प्रकारों में क्या अंतर है? जावास्क्रिप्ट को ट्रिगर करने पर एक लिंक क्लिक होने पर मैं स्क्रॉलिंग से ऊपर तक एक वेब पेज कैसे रोकूं? कार्य का अपवाद (कार्यस्थल) कार्य पर प्रतीक्षा करने या अपवाद संपत्ति तक पहुंचने के द्वारा या तो मनाया नहीं गया था। नतीजतन, अप्रभावित अपवाद था स्ट्रिंग से नई लाइन वर्ण कैसे निकालें? सी # में एक circularly लिंक की सूची बनाना? कैसे दो "एआर" स्थैतिक पुस्तकालयों को एक में मर्ज करने के लिए एंड्रॉइड 4.0, एक्शन बार पर पाठ कभी नहीं दिखाता है जावा और फ़ंक्शन के बीच अंतर क्या है? स्केलेक पर VZEROUPPER के बिना यह एसएसई कोड 6 गुना धीमा क्यों है? Node.js में "आवश्यकता" के बाद मॉड्यूल कैसे निकालें? आईओएस 10 जीएम रिलीज त्रुटि जब एप्लिकेशन सबमिट करते हैं, तो "ऐप गुमसाइन इन के कारण गोपनीयता के प्रति संवेदनशील डेटा तक पहुंचने का प्रयास करता है" GoogleSignIn, AdMob के कारण एओवी से पी-एक्सट्रैक्ट करें एक डिवाइस पर ContentProvider का उपयोग करने वाले समान ऐप को चलाने के लिए ग्रैड में बिल्ड प्रकारों का उपयोग करना

अद्वितीय पहचानकर्ता द्वारा समेकित और एक स्ट्रिंग में संबंधित मानों को जोड़ना

मुझे एक ऐसी ज़रूरत है जो मैं सोच सकता हूं कि aggregate या फिर से reshape संतुष्ट हो सकता है, लेकिन मैं काफी कुछ नहीं समझ सकता।

मेरे पास नाम ( brand ) की एक सूची है, और आईडी नंबर ( id ) के साथ। यह डेटा लंबे समय में है, इसलिए नामों में एकाधिक ID हो सकते हैं। मैं नाम ( brand ) द्वारा दो-डुप्लिकेट करना चाहता हूं और एकाधिक संभावित id को एक टिप्पणी से पृथक स्ट्रिंग में जोड़ना चाहता हूं।

उदाहरण के लिए:

 brand id RadioShack 2308 Rag & Bone 4466 Ragu 1830 Ragu 4518 Ralph Lauren 1638 Ralph Lauren 2719 Ralph Lauren 2720 Ralph Lauren 2721 Ralph Lauren 2722 

बन जाना चाहिए:

 RadioShack 2308 Rag & Bone 4466 Ragu 1830,4518 Ralph Lauren 1638,2719,2720,2721,2722 

मैं यह कैसे पूरा होगा?

Solutions Collecting From Web of "अद्वितीय पहचानकर्ता द्वारा समेकित और एक स्ट्रिंग में संबंधित मानों को जोड़ना"

चलो अपने डेटा को कॉल करें। फ्रेम DF

 > aggregate(id ~ brand, data = DF, c) brand id 1 RadioShack 2308 2 Rag & Bone 4466 3 Ragu 1830, 4518 4 Ralph Lauren 1638, 2719, 2720, 2721, 2722 

aggregate का उपयोग करने वाला एक अन्य विकल्प है:

 result <- aggregate(id ~ brand, data = DF, paste, collapse = ",") 

यह एक ही परिणाम पैदा करता है और अब id list नहीं है। @ फ्रैंक टिप्पणी करने के लिए धन्यवाद प्रत्येक कॉलम के class को देखने के लिए:

 > sapply(result, class) brand id "factor" "character" 

जैसा टिप्पणी में @ डेविड एरेनबर्ग द्वारा वर्णित किया गया है, एक और विकल्प टूस्ट्रिंग फ़ंक्शन का उपयोग कर रहा है:

 aggregate(id ~ brand, data = DF, toString) 

data.table में एक अच्छी साफ लाइन

 library(data.table) setDT(DF) 

दो विकल्प:

एक सूची के रूप में परिणाम

 DF[ , .(id = list(id)), by = brand] brand id 1: RadioShack 2308 2: Rag & Bone 4466 3: Ragu 1830,4518 4: Ralph Lauren 1638,2719,2720,2721,2722 > 

एक स्ट्रिंग के रूप में परिणाम

 DF[ , .(id = paste(id, collapse=",")), by = brand] brand id 1: RadioShack 2308 2: Rag & Bone 4466 3: Ragu 1830,4518 4: Ralph Lauren 1638,2719,2720,2721,2722 

ध्यान दें

हालांकि दो परिणाम एक ही दिखते हैं (जब आप उन्हें मुद्रित करते हैं, वे समान दिखते हैं), वे वास्तव में बहुत अलग हैं और अलग-अलग कार्यक्षमता के लिए अनुमति देते हैं

अर्थात्, सूची विकल्प (पहले वाला) का उपयोग करने से आप ऑरगनल id पर कार्य करने की अनुमति देता है।

उत्तरार्द्ध आपको सूचना को अधिक आसानी से प्रदर्शित करने की अनुमति देगा ( CSV या excel को निर्यात सहित), लेकिन id पर काम करने के लिए उन्हें वापस चुकाने की आवश्यकता होगी

या dplyr का उपयोग कर:

 library(dplyr) DF %>% group_by(brand) %>% summarise(id = paste(id, collapse = ",")) 

जहां DF आपके डेटा। फ्रेम का नाम है

यहाँ आधार आर में जानकारी है:

 myby <- by(df$id,df$brand,function(x)paste(x,collapse=",")) 

"द्वारा" ऑब्जेक्ट्स का स्वरूपण अजीब है आप data.frame(id=c(myby)) ले सकते हैं और ब्रांड rownames बन जाएगा:

 # id # RadioShack 2308 # Rag & Bone 4466 # Ragu 1830,4518 # Ralph Lauren 1638,2719,2720,2721,2722 

वैकल्पिक रूप से, यदि आप data.table पैकेज को लोड करते हैं, तो यह काम करेगा:

 dt <- data.table(df) dt[,paste(id,collapse=","),by=brand] # brand V1 # 1: RadioShack 2308 # 2: Rag & Bone 4466 # 3: Ragu 1830,4518 # 4: Ralph Lauren 1638,2719,2720,2721,2722