आर में समान कॉलम मान वाली पंक्तियों को कैसे संयोजित करें


आप R में डेटा फ़्रेम में समान कॉलम मान वाली पंक्तियों को संयोजित करने के लिए निम्नलिखित मूल सिंटैक्स का उपयोग कर सकते हैं:

 library (dplyr)

df %>%
  group_by(group_var1, group_var2) %>%
  summarise(across(c(values_var1, values_var2), sum))

निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस वाक्यविन्यास का उपयोग कैसे करें।

उदाहरण: R में समान कॉलम मान वाली पंक्तियों को संयोजित करें

मान लीजिए कि हमारे पास निम्नलिखित डेटा फ्रेम है जिसमें किसी कंपनी के विभिन्न कर्मचारियों द्वारा की गई बिक्री और रिटर्न के बारे में जानकारी है:

 #create data frame
df <- data. frame (id=c(101, 101, 102, 103, 103, 103),
                 employee=c('Dan', 'Dan', 'Rick', 'Ken', 'Ken', 'Ken'),
                 sales=c(4, 1, 3, 2, 5, 3),
                 returns=c(1, 2, 2, 1, 3, 2))

#view data frame
df

   id employee sales returns
1 101 Dan 4 1
2 101 Dan 1 2
3 102 Rick 3 2
4 103 Ken 2 1
5 103 Ken 5 3
6 103 Ken 3 2

हम आईडी और कर्मचारी कॉलम में समान मान वाली पंक्तियों को संयोजित करने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं, और फिर शेष कॉलमों को एकत्रित कर सकते हैं:

 library (dplyr)

#combine rows with same value for id and employee and aggregate remaining columns
df %>%
  group_by(id, employee) %>%
  summarise(across(c(sales, returns), sum))

# A tibble: 3 x 4
#Groups: id[3]
     id employee sales returns
          
1 101 Dan 5 3
2 102 Rick 3 2
3 103 Ken 10 6

परिणाम एक डेटा फ़्रेम है जो मूल डेटा फ़्रेम में सभी पंक्तियों को जोड़ता है जिनका आईडी और कर्मचारी कॉलम में समान मान था, फिर बिक्री और रिटर्न कॉलम में मानों के योग की गणना करता है।

ध्यान दें : हम योग फ़ंक्शन का उपयोग करके बिक्री और रिटर्न कॉलम को एकत्रित करना चुनते हैं, लेकिन यदि आप चाहें तो आप औसत जैसे किसी अन्य मीट्रिक द्वारा एकत्रित कर सकते हैं।

संबंधित: dplyr में एक्रॉस() फ़ंक्शन का उपयोग कैसे करें

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि आर में अन्य सामान्य कार्य कैसे करें:

आर में सूचियों को कैसे संयोजित करें
आर में दो वैक्टर को कैसे संयोजित करें
आर में दो डेटा फ़्रेमों को विभिन्न कॉलमों के साथ कैसे संयोजित करें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *