jmv

Log-Linear Regression

Log-Linear Regression

Example usage

data('mtcars')

tab <- table('gear'=mtcars$gear, 'cyl'=mtcars$cyl)
dat <- as.data.frame(tab)

logLinear(data = dat, factors = vars(gear, cyl),  counts = Freq,
          blocks = list(list("gear", "cyl", c("gear", "cyl"))),
          refLevels = list(
              list(var="gear", ref="3"),
              list(var="cyl", ref="4")))

#
#  LOG-LINEAR REGRESSION
#
#  Model Fit Measures
#  ───────────────────────────────────────
#    Model    Deviance    AIC     R²-McF
#  ───────────────────────────────────────
#        1    4.12e-10    41.4     1.000
#  ───────────────────────────────────────
#
#
#  MODEL SPECIFIC RESULTS
#
#  MODEL 1
#
#  Model Coefficients
#  ──────────────────────────────────────────────────────────────────
#    Predictor          Estimate     SE          Z            p
#  ──────────────────────────────────────────────────────────────────
#    Intercept          -4.71e-16        1.00    -4.71e-16    1.000
#    gear:
#    4 – 3                  2.079        1.06        1.961    0.050
#    5 – 3                  0.693        1.22        0.566    0.571
#    cyl:
#    6 – 4                  0.693        1.22        0.566    0.571
#    8 – 4                  2.485        1.04        2.387    0.017
#    gear:cyl:
#    (4 – 3):(6 – 4)       -1.386        1.37       -1.012    0.311
#    (5 – 3):(6 – 4)       -1.386        1.73       -0.800    0.423
#    (4 – 3):(8 – 4)      -26.867    42247.17    -6.36e -4    0.999
#    (5 – 3):(8 – 4)       -2.485        1.44       -1.722    0.085
#  ──────────────────────────────────────────────────────────────────
#
#

Arguments

data the data as a data frame
factors a vector of strings naming the factors from data
counts a string naming a variable in data containing counts, or NULL if each row represents a single observation
blocks a list containing vectors of strings that name the predictors that are added to the model. The elements are added to the model according to their order in the list
refLevels a list of lists specifying reference levels of the dependent variable and all the factors
modelTest TRUE or FALSE (default), provide the model comparison between the models and the NULL model
dev TRUE (default) or FALSE, provide the deviance (or -2LogLikelihood) for the models
aic TRUE (default) or FALSE, provide Aikaike's Information Criterion (AIC) for the models
bic TRUE or FALSE (default), provide Bayesian Information Criterion (BIC) for the models
pseudoR2 one or more of 'r2mf', 'r2cs', or 'r2n'; use McFadden's, Cox & Snell, and Nagelkerke pseudo-R², respectively
omni TRUE or FALSE (default), provide the omnibus likelihood ratio tests for the predictors
ci TRUE or FALSE (default), provide a confidence interval for the model coefficient estimates
ciWidth a number between 50 and 99.9 (default: 95) specifying the confidence interval width
RR TRUE or FALSE (default), provide the exponential of the log-rate ratio estimate, or the rate ratio estimate
ciRR TRUE or FALSE (default), provide a confidence interval for the model coefficient rate ratio estimates
ciWidthRR a number between 50 and 99.9 (default: 95) specifying the confidence interval width
emMeans a list of lists specifying the variables for which the estimated marginal means need to be calculate. Supports up to three variables per term.
ciEmm TRUE (default) or FALSE, provide a confidence interval for the estimated marginal means
ciWidthEmm a number between 50 and 99.9 (default: 95) specifying the confidence interval width for the estimated marginal means
emmPlots TRUE (default) or FALSE, provide estimated marginal means plots
emmTables TRUE or FALSE (default), provide estimated marginal means tables
emmWeights TRUE (default) or FALSE, weigh each cell equally or weigh them according to the cell frequency

Returns

A results object containing:

results$modelFit a table
results$modelComp a table
results$models an array of groups

Tables can be converted to data frames with asDF or as.data.frame(). For example:

results$modelFit$asDF

as.data.frame(results$modelFit)

Elements in arrays can be accessed with [[n]]. For example:

results$models[[1]] # accesses the first element