कोर्स

'ifelse()' फ़ंक्शन R के if-else स्टेटमेंट का विकल्प और संक्षिप्त रूप है। यह 'वेक्टराइज़्ड' तकनीक का उपयोग करता है, जिससे ऑपरेशन तेज़ हो जाता है। सभी वेक्टर मानों को एक साथ आर्गुमेंट के रूप में लिया जाता है, बजाय इसके कि हर मान को अलग-अलग बार आर्गुमेंट के रूप में लिया जाए।
सिंटैक्स
R में 'ifelse()' फ़ंक्शन का सिंटैक्स इस प्रकार है:
ifelse(logical_expression, a , b)
'ifelse' में दिए गए आर्गुमेंट्स का अर्थ:
1. logical_expression: एक इनपुट वेक्टर को दर्शाता है, जो आउटपुट में भी समान आकार का वेक्टर लौटाता है।
2. a: तब निष्पादित होता है जब logical_expression TRUE हो।
3. b: तब निष्पादित होता है जब logical_expression FALSE हो।
उदाहरण (विषम या सम)
आइए जल्द से जल्द नीचे दिए उदाहरण पर नज़र डालते हैं, जहाँ निम्नलिखित कोड जाँचता है कि संख्याएँ विषम हैं या सम। 'v' एक वेक्टर है जिसमें संख्याओं की सूची होती है। 'ifelse' फ़ंक्शन में अभिव्यक्ति 'v%%2==1' 'v' के प्रत्येक मान का शेषफल एक होने की जाँच करती है; यदि यह TRUE है तो "odd" प्रिंट होगा, अन्यथा FALSE होने पर "even"।
v = c(14,7,6,9,2)
ifelse(v %% 2 == 1,"odd","even")
- 'even'
- 'odd'
- 'even'
- 'odd'
- 'even'
उपरोक्त कोड का आउटपुट होगा:
'even' 'odd' 'even' 'odd' 'even'
ऊपर दिए गए कोड का आंतरिक कार्य c(FALSE,TRUE,FALSE,TRUE,FALSE) जैसा एक लॉजिकल वेक्टर बनाता है। पहला पैरामीटर c("odd","odd","odd","odd","odd") का एक स्ट्रिंग वेक्टर बनाएगा और दूसरा पैरामीटर c("even',"even","even","even","even") का स्ट्रिंग वेक्टर बनाएगा। अंततः जहाँ-जहाँ व्यक्तिगत वेक्टर तत्व TRUE होंगे वे 'odd' में बदल जाएँगे, जबकि 'FALSE' वाले 'even' में बदल जाएँगे।
उदाहरण (पास या फेल)
नीचे दिया गया उदाहरण DataFrame के साथ 'ifelse()' फ़ंक्शन के उपयोग को दर्शाता है। यदि छात्र के अंक 40 से अधिक हैं, तो उसे 'Pass' माना जाएगा, अन्यथा परीक्षा में 'Fail' माना जाएगा।
आइए एक डेटा फ़्रेम बनाते हैं जहाँ "Student" कॉलम में छात्रों के नाम ("Ron", "Jake", "Ava", "Sophia", "Mia") एक वेक्टर के रूप में इनपुट हैं। दूसरा कॉलम "Marks" है, जिसमें (35,75,45,30,85) मानों वाला वेक्टर इनपुट है। अंत में, दोनों कॉलमों को मिलाकर डेटा फ़्रेम बनाया जाता है और 'x' में संग्रहीत किया जाता है।
x <- data.frame("Student" = c("Ron","Jake","Ava","Sophia","Mia"),"Marks" = c(35,75,45,30,85))
str(x)
'data.frame': 5 obs. of 2 variables:
$ Student: Factor w/ 5 levels "Ava","Jake","Mia",..: 4 2 1 5 3
$ Marks : num 35 75 45 30 85
'data.frame': 5 obs. of 2 variables:
$ Student: Factor w/ 5 levels "Ava","Jake","Mia",..: 4 2 1 5 3
$ Marks : num 35 75 45 30 85
ऊपर दिया गया कोड 'str(x)' का उपयोग करके डेटा फ़्रेम की संरचना दिखाता है, जहाँ बताया गया है कि 2 वेरिएबल्स के साथ 5 observations हैं, और Student व Marks के संबंधित मान प्रिंट हो रहे हैं।
x$Result = ifelse(x$"Marks">40,"Pass","Fail")
print(x)
ऊपर दिया गया कोड निम्न आउटपुट देता है:
Student Marks Result
1 Ron 35 Fail
2 Jake 75 Pass
3 Ava 45 Pass
4 Sophia 30 Fail
5 Mia 85 Pass
ऊपर दिए कोड में 'x$Result' एक वेरिएबल है जिसका उपयोग डेटा फ़्रेम में 'Result' नाम का नया कॉलम जोड़ने के लिए होता है। 'ifelse()' फ़ंक्शन में अभिव्यक्ति 'x$"Marks">40' है, जो Marks से वेक्टर मानों की जाँच करती है और जब Marks 40 से अधिक होते हैं तो 'Result' को 'Pass' निर्धारित करती है, अन्यथा 'Result' 'Fail' होता है।
बधाई हो
बधाई हो, आप इस ट्यूटोरियल के अंत तक पहुँच गए हैं!
आपने R के ifelse() फ़ंक्शन के बारे में, उसके सिंटैक्स सहित, यह भी सीखा कि किसी संख्या का विषम या सम होना कैसे जाँचा जाए, और अंत में उदाहरण से देखा कि छात्र पास है या फेल।
यदि आप R के बारे में और सीखना चाहते हैं, तो हमारे सभी R संसाधन यहाँ पा सकते हैं।
हमारा Using Functions in R ट्यूटोरियल देखें।