#' Print Results
#'
#' @param family e.g. Gaussian; argument for glm
#' @param analysis Analysis that produced data for regression analyses: "cfa", "bf", or "lca"
#' @param outcomeVar Outcome variable name
#' @param modelNum Which model out of the list of models? Pulls predictors from modelPredictorNamesList. Numerical
#' @param data Data for regression analyses
#'
#' @return
#' @export
printResults <- function(family = 'gaussian', analysis = 'cfa', #outcomes,
outcomeVar, modelNum, data) {
#outcomeVar = outcomes[outcomeVar]
## Use standardized names for data to load data
if (analysis == 'lca') {
data <- lca
preds <- paste0('Class', 1:8) # predictors ('Class1' factor variable for 1-class lca, etc.)
} else {
modelName <- names(modelFactorNamesList)[modelNum]
preds <- paste0(modelFactorNamesList[[modelNum]], collapse = ' + ') # adding predictors (factors)
}
if (analysis == 'bf') {
#eval(parse(text = paste0('data <- data_bf_', modelName))) # if cfa model names
preds <- paste0('GENERAL + ', preds) # add general factor to predictor list for bifactor models
}
formula <- paste0(#'data$',
outcomeVar, ' ~ ', preds) # create formula
if (family == 'gaussian') p <- 'Pr(>|t|)' else p <- 'Pr(>|z|)' # p-value name if continuous or binary outcome
#results <- eval(parse(text = paste0('coef(summary(lm(formula = formula, data = data)))[, c(\"Estimate\", \"Std. Error\", \"', p, '\")]')))
results <- eval(parse(text = paste0('zeroinfl(formula = formula, data = data)')))
## Warnings
if (is.factor(data$outcomeVar) | is.character(data$outcomeVar)) {
if (family == 'gaussian') {
warning('Family argument is set to Gaussian by default. The specified outcome variable is a factor or string. Re-check these specifications.')
}
}
print(results)
return(results)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.