MulaiMulai sekarang secara gratis

Default kategorikal

Saat membagi sebuah vektor numerik, Anda perlu mempertimbangkan apa yang terjadi jika suatu nilai jatuh tepat pada batas. Anda dapat menempatkan nilai ini ke dalam kategori interval yang lebih rendah atau lebih tinggi. Artinya, Anda dapat memilih interval yang memasukkan nilai pada batas atas tetapi tidak pada batas bawah (dalam istilah matematika, "terbuka di kiri, tertutup di kanan", atau (lo, hi]). Atau Anda dapat memilih kebalikannya ("tertutup di kiri, terbuka di kanan", atau [lo, hi)). cut_by_quantile() sebaiknya mengizinkan dua pilihan ini.

Pola untuk default kategorikal adalah:

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

Petunjuk gratis: Di konsol, ketik head(rank) untuk melihat awal definisi rank(), dan perhatikan argumen ties.method.

Latihan ini adalah bagian dari kursus

Pengantar Penulisan Fungsi di R

Lihat Kursus

Petunjuk latihan

  • Perbarui tanda tangan cut_by_quantile() sehingga argumen interval_type dapat berupa "(lo, hi]" atau "[lo, hi)". Perhatikan spasi setelah setiap koma.
  • Perbarui badan cut_by_quantile() untuk mencocokkan argumen interval_type.
  • Hapus argumen interval_type dari pemanggilan cut_by_quantile().

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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]")
Edit dan Jalankan Kode