Logical डिफ़ॉल्ट्स
cut_by_quantile() अब थोड़ा आसान हो गया है, लेकिन आपको अभी भी हर बार na.rm आर्ग्युमेंट बताना पड़ता है। यह missing values हटाता है — इसका व्यवहार mean() या sd() के na.rm आर्ग्युमेंट जैसा ही है.
जहाँ फंक्शन्स में missing values हटाने के लिए आर्ग्युमेंट होता है, वहाँ best practice यह है कि डिफ़ॉल्ट रूप से उन्हें न हटाएँ (कहीं ऐसा न हो कि आपने missing values पर ध्यान ही न दिया हो)। इसका मतलब है कि na.rm का डिफ़ॉल्ट FALSE होना चाहिए.
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में फ़ंक्शन लिखने का परिचय
अभ्यास निर्देश
cut_by_quantile()की परिभाषा अपडेट करें ताकिna.rmआर्ग्युमेंट का डिफ़ॉल्टFALSEहो.cut_by_quantile()को कॉल करते समयna.rmआर्ग्युमेंट हटा दें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Set the default for na.rm to FALSE
cut_by_quantile <- function(x, n = 5, na.rm, labels, interval_type) {
probs <- seq(0, 1, length.out = n + 1)
qtiles <- quantile(x, probs, na.rm = na.rm, names = FALSE)
right <- switch(interval_type, "(lo, hi]" = TRUE, "[lo, hi)" = FALSE)
cut(x, qtiles, labels = labels, right = right, include.lowest = TRUE)
}
# Remove the na.rm argument from the call
cut_by_quantile(
n_visits,
na.rm = FALSE,
labels = c("very low", "low", "medium", "high", "very high"),
interval_type = "(lo, hi]"
)