आर में मरम्मत कैसे करें: sort.int (x, na.last, अवरोही, …) में त्रुटि: 'x' परमाणु होना चाहिए


R का उपयोग करते समय आपके सामने एक त्रुटि संदेश आ सकता है:

 Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...): 
  'x' must be atomic

यह त्रुटि तब होती है जब आप किसी सूची को क्रमबद्ध करने का प्रयास करते हैं।

डिफ़ॉल्ट रूप से, R केवल वैक्टर जैसी परमाणु वस्तुओं को सॉर्ट करने में सक्षम है। इसलिए, किसी सूची के साथ सॉर्ट() का उपयोग करने के लिए, आपको पहले अनलिस्ट() फ़ंक्शन का उपयोग करना होगा।

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

त्रुटि को पुन: उत्पन्न कैसे करें

मान लीजिए हमारे पास R में निम्नलिखित सूची है:

 #create list
some_list <- list(c(4, 3, 7), 2, c(5, 12, 19)) 

#view list
some_list

[[1]]
[1] 4 3 7

[[2]]
[1] 2

[[3]]
[1] 5 12 19

#view class
class(some_list)

[1] "list"

अब मान लीजिए कि हम सूची में मानों को क्रमबद्ध करने का प्रयास करते हैं:

 #attempt to sort the values in the list
sort(some_list)

Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...): 
  'x' must be atomic

हमें एक त्रुटि प्राप्त होती है क्योंकि R सीधे सूचियों को क्रमबद्ध करने में सक्षम नहीं है।

त्रुटि से कैसे बचें

त्रुटि से बचने के लिए, आपको पहले अनलिस्ट() फ़ंक्शन का उपयोग निम्नानुसार करना होगा:

 #sort values in list
sort(unlist(some_list))

[1] 2 3 4 5 7 12 19

ध्यान दें कि हम बिना किसी त्रुटि के मानों की सूची को सफलतापूर्वक सॉर्ट करने में सक्षम हैं क्योंकि हमने पहली बार unlist() का उपयोग किया था, जिसने सूची को एक संख्यात्मक वेक्टर में बदल दिया।

डिफ़ॉल्ट रूप से, R मानों को आरोही क्रम में क्रमबद्ध करता है।

हालाँकि, हम मानों को अवरोही क्रम में क्रमबद्ध करने के लिए ह्रासमान = TRUE का उपयोग कर सकते हैं:

 #sort values in list in descending order
sort(unlist(some_list), decreasing= TRUE )

[1] 19 12 7 5 4 3 2

ध्यान दें कि मान अब अवरोही क्रम में क्रमबद्ध हैं।

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

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

आर में कैसे ठीक करें: तर्कों में अलग-अलग संख्या में लाइनें शामिल होती हैं
आर में कैसे ठीक करें: अप्रयुक्त तर्कों को चुनने में त्रुटि
आर में कैसे ठीक करें: अमान्य तर्क
आर में मरम्मत कैसे करें: प्रतिस्थापन की लंबाई शून्य है

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

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