Formulas for additive linear models can be generated with specified coefficient values and variable names.
genFormula(coefs, vars)A vector that contains the values of the coefficients. Coefficients can also be defined as character for use with double dot notation. If length(coefs) == length(vars), then no intercept is assumed. Otherwise, an intercept is assumed.
A vector of strings that specify the names of the explanatory variables in the equation.
A string that represents the desired formula
genFormula(c(.5, 2, 4), c("A", "B", "C"))
#> [1] "0.5 * A + 2 * B + 4 * C"
genFormula(c(.5, 2, 4), c("A", "B"))
#> [1] "0.5 + 2 * A + 4 * B"
genFormula(c(.5, "..x", 4), c("A", "B", "C"))
#> [1] "0.5 * A + ..x * B + 4 * C"
genFormula(c(.5, 2, "..z"), c("A", "B"))
#> [1] "0.5 + 2 * A + ..z * B"
changeX <- c(7, 10)
genFormula(c(.5, 2, changeX[1]), c("A", "B"))
#> [1] "0.5 + 2 * A + 7 * B"
genFormula(c(.5, 2, changeX[2]), c("A", "B"))
#> [1] "0.5 + 2 * A + 10 * B"
genFormula(c(.5, 2, changeX[2]), c("A", "B", "C"))
#> [1] "0.5 * A + 2 * B + 10 * C"
newForm <- genFormula(c(-2, 1), c("A"))
def1 <- defData(varname = "A", formula = 0, variance = 3, dist = "normal")
def1 <- defData(def1, varname = "B", formula = newForm, dist = "binary", link = "logit")
set.seed(2001)
dt <- genData(500, def1)
summary(glm(B ~ A, data = dt, family = binomial))
#>
#> Call:
#> glm(formula = B ~ A, family = binomial, data = dt)
#>
#> Coefficients:
#> Estimate Std. Error z value Pr(>|z|)
#> (Intercept) -2.3700 0.2046 -11.586 <2e-16 ***
#> A 1.1457 0.1186 9.662 <2e-16 ***
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
#> (Dispersion parameter for binomial family taken to be 1)
#>
#> Null deviance: 483.31 on 499 degrees of freedom
#> Residual deviance: 317.32 on 498 degrees of freedom
#> AIC: 321.32
#>
#> Number of Fisher Scoring iterations: 6
#>