Skip to contents
x <- c(2, 4, 6, 8, 10)
y <- cbind(
  ses = c(10, 20, 30, 40, 50),
  health = c(1, 0, 1, 0, 1)
)
wt <- rep(1, 5)
ctrl <- list(minbucket = 1, minprob = 0)

split <- best_numeric_split(
  x = x,
  y = y,
  wt = wt,
  varid = 1,
  ctrl = ctrl,
  ci_fun = ci_factory("CI")
)
split$breaks
#> [1] 3
x_full <- factor(
  c("low", "mid", "high", "low", "mid", "high"),
  levels = c("low", "mid", "high", "unused")
)
keep <- rep(TRUE, 6)
y_full <- cbind(
  ses = c(10, 20, 30, 40, 50, 60),
  health = c(1, 2, 5, 1, 2, 5)
)
wt_full <- rep(1, 6)
ctrl <- list(minbucket = 1, minprob = 0)

split <- best_factor_split(
  x_full = x_full,
  keep = keep,
  y_full = y_full,
  wt_full = wt_full,
  varid = 1,
  ctrl = ctrl,
  ci_fun = ci_factory("CI")
)
split$index
#> [1]  1  1  2 NA