bssBYcut function

Between group SS for y, for all possible splits on values of x

Between group SS for y, for all possible splits on values of x

Each point of separation between successve values of x is used in turn to create two groups of observations. The between group sum of squares for y is calculated for each such split.

bssBYcut(x, y, data)

Arguments

  • x: Variable (numeric) used to define splits. Observations with x

    values less than the cut point go into the first group, while those with values >= the cut point go into the second group.

  • y: Variable for which BSS values are to be calculated.

  • data: Data frame with columns x and y.

Returns

Data frame with columns: - xOrd: Cut points for splits.

  • comp2: Between groups sum of squares

Author(s)

J H Maindonald

Examples

xy <- bssBYcut(weight, height, women) with(xy, xy[which.max(bss), ]) ## The function is currently defined as function (x, y, data) { xnam <- deparse(substitute(x)) ynam <- deparse(substitute(y)) xv <- data[, xnam] yv <- data[, ynam] sumss <- function(x, y, cut) { av <- mean(y) left <- x < cut sum(left) * (mean(y[left]) - av)^2 + sum(!left) * (mean(y[!left]) - av)^2 } xOrd <- unique(sort(xv))[-1] bss <- numeric(length(xOrd)) for (i in 1:length(xOrd)) { bss[i] <- sumss(xv, yv, xOrd[i]) } list(xOrd = xOrd, bss = bss) }
  • Maintainer: John Maindonald
  • License: GPL (>= 2)
  • Last published: 2023-08-21

Useful links