शुरू करेंमुफ़्त में शुरू करें

ifelse()

एक शक्तिशाली फंक्शन है ifelse(). यह सिर्फ 1 लाइन के कोड में if स्टेटमेंट बना देता है, और उससे भी बढ़कर, यह पूरे वेक्टर पर काम करता है!

मान लीजिए आपके पास स्टॉक प्राइस का एक वेक्टर है. अगर आप हर बार जब apple > 110 हो तो "Buy!" और वरना "Do nothing!" रिटर्न करना चाहें, तो? एक साधारण if स्टेटमेंट इस समस्या को हल करने के लिए पर्याप्त नहीं होगा. लेकिन ifelse() के साथ आप ऐसा कर सकते हैं:

apple
[1] 109.49 109.90 109.11 109.95 111.03 112.12

ifelse(test = apple > 110, yes = "Buy!", no = "Do nothing!")
[1] "Do nothing!" "Do nothing!" "Do nothing!" "Do nothing!" "Buy!"       
[6] "Buy!"

ifelse() test को evaluate करके एक logical वेक्टर बनाता है, और जहाँ यह logical वेक्टर TRUE होता है, वहाँ TRUE को yes में दी गई वैल्यू से बदल देता है. इसी तरह, FALSE को no से बदल दिया जाता है.

stocks डेटा फ़्रेम आपके उपयोग के लिए उपलब्ध है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

इंटरमीडिएट R फॉर फाइनेंस

पाठ्यक्रम देखें

अभ्यास निर्देश

  • ifelse() का उपयोग करके जाँचिए कि micr 60 से ऊपर लेकिन 62 से नीचे है या नहीं. जहाँ शर्त सच हो, वहाँ 1 और जहाँ झूठ हो, वहाँ 0 रिटर्न करें. परिणाम को stocks में micr_buy नाम के कॉलम के रूप में जोड़ें.
  • ifelse() का उपयोग करके जाँचिए कि apple 117 से बड़ा है या नहीं. अगर TRUE हो तो लौटाई गई वैल्यू date कॉलम होनी चाहिए, अन्यथा NA.
  • stocks प्रिंट करें. date numeric बन गया! ifelse() रिटर्न करने से पहले date के attribute को हटा देता है, इसलिए यह numeric बन जाता है.
  • apple_date कॉलम को "Date" की class() असाइन करें.
  • दोबारा stocks प्रिंट करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Microsoft test
stocks$micr_buy <- ifelse(test = ___, yes = ___, no = ___)

# Apple test
stocks$apple_date <- ifelse(test = ___, yes = stocks$date, no = NA)

# Print stocks
___

# Change the class() of apple_date.
class(___) <- ___

# Print stocks again
___
कोड संपादित करें और चलाएँ