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

Categorical डिफ़ॉल्ट्स

जब आप किसी numeric वेक्टर को हिस्सों में बाँटते हैं, तो यह सोचना पड़ता है कि यदि कोई मान बिल्कुल बॉउंडरी पर आ जाए तो क्या होगा। आप उस मान को या तो निचले interval की category में रख सकते हैं, या ऊपरी interval की category में। यानी, आप अपने intervals इस तरह चुन सकते हैं कि वे ऊपर वाली boundary को शामिल करें लेकिन नीचे वाली को नहीं (गणितीय शब्दों में, "बाएँ से open, दाएँ से closed", या (lo, hi])। या इसका उलटा चुन सकते हैं ("बाएँ से closed, दाएँ से open", या [lo, hi))। cut_by_quantile() को ये दोनों विकल्प स्वीकार करने चाहिए।

Categorical डिफ़ॉल्ट्स का पैटर्न यह है:

function(cat_arg = c("choice1", "choice2")) {
  cat_arg <- match.arg(cat_arg)
}

Free hint: कंसोल में head(rank) टाइप कीजिए ताकि rank() की परिभाषा की शुरुआत देखें, और ties.method आर्ग्युमेंट पर नज़र डालें.

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

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

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

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

  • cut_by_quantile() के सिग्नेचर को अपडेट करें ताकि interval_type आर्ग्युमेंट "(lo, hi]" या "[lo, hi)" हो सके। प्रत्येक comma के बाद स्पेस पर ध्यान दें.
  • cut_by_quantile() के बॉडी को interval_type आर्ग्युमेंट के साथ match करने के लिए अपडेट करें.
  • cut_by_quantile() के कॉल से interval_type आर्ग्युमेंट हटा दें.

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

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

# Set the categories for interval_type to "(lo, hi]" and "[lo, hi)"
cut_by_quantile <- function(x, n = 5, na.rm = FALSE, labels = NULL, 
                            interval_type) {
  # Match the interval_type argument
  ___ <- ___
  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 interval_type argument from the call
cut_by_quantile(n_visits, interval_type = "(lo, hi]")
कोड संपादित करें और चलाएँ