BaşlayınÜcretsiz başlayın

Kategorik varsayılanlar

Sayısal bir vektörü aralıklara bölerken, bir değerin tam sınırda kalması durumunda ne olacağını düşünmen gerekir. Bu değeri alt aralığın kategorisine ya da üst aralığın kategorisine koyabilirsin. Yani aralıklarını, üst sınırdaki değerleri dahil edip alt sınırdakileri dahil etmeyecek şekilde (matematiksel terimle, "solda açık, sağda kapalı" veya (lo, hi]) seçebilirsin. Ya da tam tersini ("solda kapalı, sağda açık" veya [lo, hi)) seçebilirsin. cut_by_quantile() bu iki seçeneğe izin vermelidir.

Kategorik varsayılanlar için kalıp şöyledir:

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

Ücretsiz ipucu: Konsolda head(rank) yazıp rank() fonksiyonunun tanımının başına bak ve ties.method argümanına göz at.

Bu egzersiz, kursun bir parçasıdır

R'de Fonksiyon Yazmaya Giriş

Kursa Göz Atın

Egzersiz talimatları

  • cut_by_quantile() imzasını güncelle ve interval_type argümanının "(lo, hi]" veya "[lo, hi)" olabilmesini sağla. Her virgülden sonra bir boşluk olduğuna dikkat et.
  • cut_by_quantile() gövdesini, interval_type argümanını eşleyecek şekilde güncelle.
  • cut_by_quantile() çağrısından interval_type argümanını kaldır.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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]")
Kodu Düzenle ve Çalıştır