आर में कैसे ठीक करें: त्रुटि: पंक्तियों के लिए डुप्लिकेट पहचानकर्ता


R में आपके सामने एक त्रुटि आ सकती है:

 Error: Duplicate identifiers for rows

यह त्रुटि तब होती है जब आप डेटा फ़्रेम में एक या अधिक कॉलम के मानों को उनके अपने कॉलम में फैलाने के लिए स्प्रेड() फ़ंक्शन का उपयोग करने का प्रयास करते हैं।

हालाँकि, यदि प्रत्येक पंक्ति के लिए कोई अद्वितीय आईडी नहीं है तो एक त्रुटि हो सकती है, इसलिए वितरण चलाते समय यह निर्धारित करने का कोई तरीका नहीं है कि कौन से मान किस अवलोकन से संबंधित हैं।

निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस त्रुटि को कैसे ठीक किया जाए।

उदाहरण: त्रुटि कैसे ठीक करें

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

 #create data frame
df <- data. frame (player=rep(c(' A ', ' B '), each= 4 ),
                 year=rep(1:4, times= 2 ),
                 assists=c(4, 10, 4, 4, 3, 7, 7, 6),
                 dots=c(14, 6, 18, 7, 22, 9, 38, 4))

#view data frame
df

  player year assists points
1 A 1 4 14
2 A 2 10 6
3 To 3 4 18
4 To 4 4 7
5 B 1 3 22
6 B 2 7 9
7 B 3 7 38
8 B 4 6 4

अब मान लीजिए कि हम डेटा फ्रेम को वर्ष कॉलम को आईडी कॉलम के रूप में बदलना चाहते हैं और प्रत्येक वर्ष के दौरान खिलाड़ियों ए और बी के सहायता और बिंदु मूल्यों का प्रतिनिधित्व करने के लिए असिस्ट_ए , असिस्ट_बी , पॉइंट_ए और पॉइंट_बी नामक नए कॉलम बनाना चाहते हैं। .

चूंकि वर्ष कॉलम में मान अद्वितीय नहीं होंगे (दो 1s, दो 2s इत्यादि होंगे), स्प्रेड() फ़ंक्शन एक त्रुटि उत्पन्न करेगा।

हालाँकि, हम वांछित डेटा फ्रेम तैयार करने के लिए निम्नलिखित सिंटैक्स के साथ pivot_vider() फ़ंक्शन का उपयोग कर सकते हैं:

 library (tidyr)

#spread the values in the points and assists columns
pivot_wider(data = df, 
            id_cols = year, 
            names_from = player, 
            values_from = c(' assists ', ' points '))

# A tibble: 4 x 5
   year assists_A assists_B points_A points_B
                    
1 1 4 3 14 22
2 2 10 7 6 9
3 3 4 7 18 38
4 4 4 6 7 4

ध्यान दें कि हमें कोई त्रुटि नहीं मिल रही है और हम सफलतापूर्वक नए कॉलम बनाने में सक्षम हैं जो प्रत्येक चार वर्षों में खिलाड़ी ए और बी के लिए बिंदु और सहायता मान प्रदर्शित करते हैं।

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

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

आर में कैसे ठीक करें: एनएएस को जबरदस्ती पेश किया गया
आर में मरम्मत कैसे करें: सूचकांक सीमा से बाहर
आर में कैसे ठीक करें: लंबी वस्तु की लंबाई छोटी वस्तु की लंबाई का गुणज नहीं है
आर में मरम्मत कैसे करें: प्रतिस्थापित किए जाने वाले तत्वों की संख्या प्रतिस्थापन लंबाई की गुणज नहीं है

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

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