R में ifelse स्टेटमेंट में na कैसे शामिल करें?


अक्सर आप डेटा फ़्रेम में एक नया कॉलम बनाने के लिए R में ifelse स्टेटमेंट का उपयोग करना चाह सकते हैं, जिसका मान मौजूदा कॉलम के मानों पर आधारित होता है।

ऐसा करने के लिए, आप निम्नलिखित मूल सिंटैक्स का उपयोग कर सकते हैं:

 df$new_column<- ifelse(df$col1 == ' A ', ' val_if_true ', ' val_if_false ')

हालाँकि, यदि किसी कॉलम में NA मान मौजूद हैं, तो नए कॉलम में मान स्वचालित रूप से NA होंगे।

इससे बचने के लिए, आप निम्नानुसार !is.na() फ़ंक्शन का उपयोग कर सकते हैं:

 df$new_column<- ifelse(df$col1 == ' A ' & !is. na (df$col1) , ' val_if_true ', ' val_if_false ')

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

उदाहरण: R में ifelse कथन में NA शामिल करें

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

 #create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D', 'E', 'F'),
                 conf=c('West', NA, 'West', 'East', 'East', 'East'),
                 points=c(30, 35, 11, 18, 14, NA))

#view data frame
df

  player conf points
1 A West 30
2 B <NA> 35
3 C West 11
4 D East 18
5 E East 14
6 F East NA

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

  • ‘वेस्ट_प्लेयर’ यदि कॉन्फ़ ‘वेस्ट’ के बराबर है
  • ‘अन्य’ यदि कॉन्फ ‘वेस्ट’ के बराबर नहीं है

निम्नलिखित कोड दिखाता है कि यह कैसे करना है:

 #create new column called 'class'
df$class <- ifelse(df$conf == ' West ', ' West_Player ', ' Other ')

#view updated data frame
df

  player conf points class
1 A West 30 West_Player
2 B <NA> 35 <NA>
3 C West 11 West_Player
4 D East 18 Other
5 E East 14 Other
6 F East NA Other

ध्यान दें कि पंक्ति 2 में वर्ग मान NA के बराबर है क्योंकि कॉन्फ़ कॉलम में संबंधित मान NA के बराबर है।

इससे बचने के लिए, हम !is.na() फ़ंक्शन का उपयोग इस प्रकार कर सकते हैं:

 #create new column called 'class'
df$class <- ifelse(df$conf == ' West ' & !is. na (df$conf), ' West_Player ', ' Other ')

#view updated data frame
df

  player conf points class
1 A West 30 West_Player
2 B <NA> 35 Other
3 C West 11 West_Player
4 D East 18 Other
5 E East 14 Other
6 F East NA Other

ध्यान दें कि पंक्ति 2 में वर्ग मान अब NA के बजाय “अन्य” के बराबर है।

!is.na() फ़ंक्शन का उपयोग करते हुए, हमने निर्दिष्ट किया कि कॉन्फ़ कॉलम में मान ‘वेस्ट’ के बराबर होना चाहिए और नए क्लास कॉलम में मान ‘वेस्ट_प्लेयर’ के लिए NA के बराबर नहीं होना चाहिए।

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

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

आर में नेस्टेड इफ एल्स स्टेटमेंट कैसे लिखें
आर में केस स्टेटमेंट कैसे लिखें
आर में डेटा फ़्रेम में एकाधिक कॉलम कैसे जोड़ें

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

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