आर में कैसे ठीक करें: त्रुटि: एक गैर-फ़ंक्शन लागू करने का प्रयास


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

 Error: attempt to apply non-function

यह त्रुटि आमतौर पर तब होती है जब आप R में मानों को गुणा करने का प्रयास करते हैं लेकिन गुणन चिह्न ( * ) शामिल करना भूल जाते हैं।

यह ट्यूटोरियल स्पष्ट रूप से बताता है कि दो अलग-अलग परिदृश्यों में इस त्रुटि को कैसे संभालना है।

परिदृश्य 1: डेटा फ़्रेम गुणन में त्रुटि का समाधान करें

मान लीजिए कि हम R में निम्नलिखित डेटा फ़्रेम बनाते हैं:

 #create data frame
df <- data. frame (x=c(1, 2, 6, 7),
                 y=c(3, 5, 5, 8))

#view data frame
df

  xy
1 1 3
2 2 5
3 6 5
4 7 8

अब मान लीजिए कि हम कॉलम x को 10 से गुणा करने के बराबर एक नया कॉलम बनाने का प्रयास करते हैं:

 #attempt to create new column
df$x_times_10 <- df$x(10)

Error: attempt to apply non-function

हमें एक त्रुटि प्राप्त हुई क्योंकि हम गुणन चिह्न ( * ) शामिल करना भूल गए।

इस त्रुटि को हल करने के लिए, आपको गुणन चिह्न शामिल करना होगा:

 #create new column
df$x_times_10 <- df$x*(10)

#view updated data frame
df

  xy x_times_10
1 1 3 10
2 2 5 20
3 6 5 60
4 7 8 70

परिदृश्य 2: वेक्टर गुणन त्रुटि को हल करें

मान लीजिए कि हम R में दो वेक्टर बनाते हैं और उनके संगत तत्वों को एक साथ गुणा करने का प्रयास करते हैं:

 #create two vectors
x <- c(1, 2, 2, 2, 4, 5, 6)
y <- c(5, 6, 8, 7, 8, 8, 9)

#attempt to multiply corresponding elements in vectors
(x)(y)

Error: attempt to apply non-function

हमें एक त्रुटि प्राप्त हो रही है क्योंकि हमने गुणन चिह्न शामिल नहीं किया है।

इस त्रुटि को हल करने के लिए, आपको गुणन चिह्न शामिल करना होगा:

 #multiply corresponding elements in vectors
(x)*(y)

[1] 5 12 16 14 32 40 54

ध्यान दें कि इस बार कोई त्रुटि उत्पन्न न हो.

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

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

कैसे ठीक करें: शर्त की लंबाई > 1 है और केवल पहला तत्व उपयोग किया जाएगा
कैसे ठीक करें: बाइनरी ऑपरेटर का गैर-संख्यात्मक तर्क
कैसे ठीक करें: dim(X) की लंबाई धनात्मक होनी चाहिए
कैसे ठीक करें: अप्रयुक्त तर्कों को चुनने में त्रुटि

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

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