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

कस्टम एरर लॉजिक

कभी-कभी assertive की assert_*() फंक्शन सबसे जानकारीपूर्ण एरर मैसेज नहीं देतीं। उदाहरण के लिए, जो assertions किसी संख्या के न्यूमेरिक रेंज में होने की जाँच करती हैं, वे यूज़र को बताएँगी कि कोई वैल्यू रेंज से बाहर है, लेकिन यह नहीं बताएँगी कि यह समस्या क्यों है। ऐसे में, आप is_*() फंक्शन को संदेशों, warnings, या errors के साथ मिलाकर कस्टम फीडबैक परिभाषित कर सकते हैं।

हार्मोनिक मीन का अर्थ तभी बनता है जब x की सभी वैल्यूज़ पॉज़िटिव हों। (यह समझने के लिए 1 और -1 का हार्मोनिक मीन निकालकर देखिए।) सुनिश्चित करें कि आपके यूज़र्स यह बात जानें!

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

R में फ़ंक्शन लिखने का परिचय

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

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

  • अगर x की किसी भी वैल्यू non-positive है (NAs को नज़रअंदाज़ करें) तो एक एरर थ्रो करें.
  • calcharmonicmean() को एक character आर्ग्यूमेंट पास करने पर क्या होता है, इसे देखिए.

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

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

calc_harmonic_mean <- function(x, na.rm = FALSE) {
  assert_is_numeric(x)
  # Check if any values of x are non-positive
  if(___(___(___), na.rm = TRUE)) {
    # Throw an error
    ___("x contains non-positive values, so the harmonic mean makes no sense.")
  }
  x %>%
    get_reciprocal() %>%
    mean(na.rm = na.rm) %>%
    get_reciprocal()
}

# See what happens when you pass it negative numbers
calc_harmonic_mean(std_and_poor500$pe_ratio - 20)
कोड संपादित करें और चलाएँ