bsFormu function

Generating Formula for Models

Generating Formula for Models

Generate a single formula for models like lm or a list of formula for models like systemfit.

bsFormu(name.y, name.x, intercept = TRUE, ...)

Arguments

  • name.y: a character vector of variables names for dependent variables; when the length is more than one, there will a list of formula generated for each variable in the name.
  • name.x: a character vector of indepedent variables.
  • intercept: a logical value (default of TRUE) of whether to include intercept or not.
  • ...: additional arguments to be passed.

Details

This function can generate a single formula for simple model like lm or a list of formula for systems (systemfit. Note that the right-hand side variables are the same for each dependent variable. If different, a for loop can be added by users to address that, as demonstrated by the example below.

Returns

a single formula object or a list of formula objects.

Author(s)

Changyou Sun (edwinsun258@gmail.com )

Examples

# fake data y <- c("y") ym <- c("y1", "y2", "y3") x <- c("x") xAll <- c("x", "xx", "xxx", "xxxx") bsFormu(name.y = y, name.x = x) bsFormu(name.y = ym, name.x = xAll) fm.ym <- bsFormu(name.y = ym, name.x = xAll, intercept = FALSE) fm.ym # If independent variables differ by equation, # add a loop to address the differentiation. xInd <- c("x1", "x2", "x3") fm.ym <- list() for (i in 1:length(ym)) { ny <- ym[i] nx <- c(xInd[i], xAll) fm.ym[[i]] <- bsFormu(name.y = ny, name.x = nx, intercept = FALSE) } fm.ym # real data data(daIns) (xx <- colnames(daIns)[-c(1, 14)]) fm.ins <- bsFormu(name.y = "Y", name.x = xx, intercept = TRUE) fm.ins (ra <- glm(formula = fm.ins, family = binomial(link="logit"), data = daIns, x = TRUE))
  • Maintainer: Changyou Sun
  • License: GPL (>= 2)
  • Last published: 2024-09-26

Useful links