Valori implicite logice
cut_by_quantile() este acum ceva mai ușor de utilizat, dar tot trebuie să specifici argumentul na.rm de fiecare dată. Acesta elimină valorile lipsă—funcționează la fel ca argumentul na.rm din mean() sau sd().
Atunci când o funcție are un argument pentru eliminarea valorilor lipsă, cea mai bună practică este să nu le elimini implicit (în caz că nu ai observat că există valori lipsă în date). Prin urmare, valoarea implicită pentru na.rm ar trebui să fie FALSE.
Acest exercițiu face parte din cursul
Introducere în scrierea funcțiilor în R
Instrucțiuni pentru exercițiu
- Actualizează definiția funcției
cut_by_quantile()astfel încât argumentulna.rmsă aibă valoarea implicităFALSE. - Elimină argumentul
na.rmdin apelul funcțieicut_by_quantile().
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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]"
)