R में कैसे ठीक करें: aggregate.data.frame() में त्रुटि: तर्कों की लंबाई समान होनी चाहिए
R में आपके सामने एक त्रुटि आ सकती है:
Error in aggregate.data.frame(as.data.frame(x), ...): arguments must have same length
यह त्रुटि तब होती है जब आप आर में डेटा फ़्रेम के एक या अधिक कॉलम में मानों को सारांशित करने के लिए एग्रीगेट () फ़ंक्शन का उपयोग करने का प्रयास करते हैं, लेकिन कॉलम को संदर्भित करते समय डेटा फ़्रेम का नाम निर्दिष्ट करने में असमर्थ होते हैं।
यह ट्यूटोरियल सटीक रूप से बताता है कि इस त्रुटि को कैसे ठीक किया जाए।
त्रुटि को पुन: उत्पन्न कैसे करें
मान लीजिए कि हमारे पास R में निम्नलिखित डेटा फ़्रेम है:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C'),
points=c(5, 9, 12, 14, 14, 13, 10, 6, 15, 18))
#view data frame
df
team points
1 to 5
2 to 9
3 to 12
4 to 14
5 to 14
6 B 13
7 B 10
8 B 6
9 C 15
10 C 18
अब मान लीजिए कि हम टीम द्वारा समूहीकृत औसत बिंदु मान की गणना करने के लिए एग्रीगेट() फ़ंक्शन का उपयोग करने का प्रयास करते हैं:
#attempt to calculate mean points value by team
aggregate(df$points, list(' team '), FUN=mean)
Error in aggregate.data.frame(as.data.frame(x), ...):
arguments must have same length
हमें एक त्रुटि प्राप्त हुई क्योंकि हम सूची() तर्क में डेटा ब्लॉक नाम निर्दिष्ट करने में विफल रहे।
त्रुटि को कैसे ठीक करें
इस त्रुटि को ठीक करने का तरीका सूची() तर्क में केवल “टीम” के बजाय केवल df$team का उपयोग करना है:
#calculate mean points value by team
aggregate(df$points, list(df$team), FUN=mean)
Group.1 x
1 A 10.800000
2 B 9.666667
3 C 16.500000
ध्यान दें कि इस बार हमें कोई त्रुटि नहीं मिली है क्योंकि हमने सूची() तर्क में डेटा फ़्रेम नाम निर्दिष्ट किया है।
ध्यान दें कि यदि आप सूची() तर्क में एकाधिक कॉलम नामों का उपयोग करते हैं, तो आपको प्रत्येक कॉलम नाम के लिए डेटा फ़्रेम नाम निर्दिष्ट करना होगा, अन्यथा आपको एक त्रुटि प्राप्त होगी।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि आर में अन्य सामान्य त्रुटियों को कैसे हल किया जाए:
आर में कैसे ठीक करें: नाम पिछले नामों से मेल नहीं खाते
आर में कैसे ठीक करें: लंबी वस्तु की लंबाई छोटी वस्तु की लंबाई का गुणज नहीं है
आर में कैसे ठीक करें: कंट्रास्ट केवल 2 या अधिक स्तरों वाले कारकों पर लागू किया जा सकता है