ए: विशिष्ट कॉलम पर लागू() फ़ंक्शन का उपयोग कैसे करें


अक्सर आप आर में डेटा फ़्रेम में विशिष्ट कॉलम पर फ़ंक्शन लागू करने के लिए अप्लाई() फ़ंक्शन का उपयोग करना चाह सकते हैं।

हालाँकि, अप्लाई () फ़ंक्शन किसी फ़ंक्शन को लागू करने से पहले डेटा फ्रेम में सभी कॉलमों को एक ही ऑब्जेक्ट प्रकार के लिए बाध्य करता है, जिसके कभी-कभी अनपेक्षित परिणाम हो सकते हैं।

एक बेहतर विकल्प लैप्पली() फ़ंक्शन है, जो निम्नलिखित मूल सिंटैक्स का उपयोग करता है:

 df[c(' col1 ', ' col2 ')] <- lapply(df[c(' col1 ', ' col2 ')], my_function)

यह विशेष उदाहरण my_function फ़ंक्शन को डेटा फ़्रेम में केवल col1 और col2 पर लागू करता है।

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

उदाहरण: डेटा फ़्रेम में विशिष्ट कॉलम पर फ़ंक्शन लागू करें

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

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(19, 22, 15, NA, 14, 25, 25, 25),
                 rebounds=c(10, 6, 3, 7, 11, 13, 9, 12),
                 assists=c(4, 4, 3, 6, 7, 5, 10, 8))

#view data frame
df

  team points rebound assists
1 A 19 10 4
2 A 22 6 4
3 to 15 3 3
4 A NA 7 6
5 B 14 11 7
6 B 25 13 5
7 B 25 9 10
8 B 25 12 8

अब मान लीजिए कि हम निम्नलिखित फ़ंक्शन को परिभाषित करते हैं जो मानों को 2 से गुणा करता है और फिर 1 जोड़ता है:

 #define function
my_function <- function (x) x*2 + 1

हम इस फ़ंक्शन को केवल डेटा फ़्रेम में पॉइंट और बाउंस कॉलम पर लागू करने के लिए निम्नलिखित लैपली() फ़ंक्शन का उपयोग कर सकते हैं:

 #apply function to specific columns
df[c(' points ', ' rebounds ')] <- lapply(df[c(' points ', ' rebounds ')], my_function)

#view updated data frame
df

  team points rebound assists
1 A 39 21 4
2 A 45 13 4
3 A 31 7 3
4 A NA 15 6
5 B 29 23 7
6 B 51 27 5
7 B 51 19 10
8 B 51 25 8

परिणाम से, हम देख सकते हैं कि हमने पॉइंट और रिबाउंड कॉलम में प्रत्येक मान को 2 से गुणा किया और फिर 1 जोड़ा।

यह भी ध्यान दें कि टीमें और सहायता कॉलम अपरिवर्तित रहे हैं।

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

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

आर में अप्लाई(), लैप्पली(), सैप्लाई() और टैपप्लाई() के लिए एक गाइड
आर में ट्रांसफॉर्म फ़ंक्शन का उपयोग कैसे करें

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

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