An integrated function for fitting a linear regression model.
This function will no longer be updated. Please use the these functions separately instead: model_summary
, interaction_plot
,and simple_slope
.
lm_model_summary(
data,
response_variable = NULL,
predictor_variable = NULL,
two_way_interaction_factor = NULL,
three_way_interaction_factor = NULL,
family = NULL,
cateogrical_var = NULL,
graph_label_name = NULL,
model_summary = TRUE,
interaction_plot = TRUE,
y_lim = NULL,
plot_color = FALSE,
digits = 3,
simple_slope = FALSE,
assumption_plot = FALSE,
quite = FALSE,
streamline = FALSE,
return_result = FALSE
)
data.frame
DV (i.e., outcome variable / response variable). Length of 1. Support dplyr::select()
syntax.
IV. Support dplyr::select()
syntax.
two-way interaction factors. You need to pass 2+ factor. Support dplyr::select()
syntax.
three-way interaction factor. You need to pass exactly 3 factors. Specifying three-way interaction factors automatically included all two-way interactions, so please do not specify the two_way_interaction_factor argument. Support dplyr::select()
syntax.
a GLM family. It will passed to the family argument in glm. See ?glm
for possible options.
list. Specify the upper bound and lower bound directly instead of using ± 1 SD from the mean. Passed in the form of list(var_name1 = c(upper_bound1, lower_bound1),var_name2 = c(upper_bound2, lower_bound2))
optional vector or function. vector of length 2 for two-way interaction graph. vector of length 3 for three-way interaction graph. Vector should be passed in the form of c(response_var, predict_var1, predict_var2, ...). Function should be passed as a switch function (see ?two_way_interaction_plot for an example)
print model summary. Required to be TRUE
if you want assumption_plot
.
generate the interaction plot. Default is TRUE
the plot's upper and lower limit for the y-axis. Length of 2. Example: c(lower_limit, upper_limit)
If it is set to TRUE
(default is FALSE
), the interaction plot will plot with color.
number of digits to round to
Slope estimate at +1/-1 SD and the mean of the moderator. Uses interactions::sim_slope()
in the background.
Generate an panel of plots that check major assumptions. It is usually recommended to inspect model assumption violation visually. In the background, it calls performance::check_model()
suppress printing output
print streamlined output
If it is set to TRUE
(default is FALSE
), it will return the model
, model_summary
, and plot
(if the interaction term is included)
a list of all requested items in the order of model, model_summary, interaction_plot, simple_slope
fit <- lm_model_summary(
data = iris,
response_variable = "Sepal.Length",
predictor_variable = dplyr::everything(),
two_way_interaction_factor = c(Sepal.Width, Species),
interaction_plot = FALSE, # you can also request the interaction plot
simple_slope = FALSE, # you can also request simple slope estimate
assumption_plot = FALSE, # you can also request assumption plot
streamline = FALSE #you can change this to get the least amount of info
)
#>
#>
#> Model Summary
#> Model Type = Linear regression
#> Outcome = Sepal.Length
#> Predictors = Sepal.Width, Petal.Length, Petal.Width, Species
#>
#> Model Estimates
#> ─────────────────────────────────────────────────────────────────────────────────────────────
#> Parameter Coefficient SE t df p 95% CI
#> ─────────────────────────────────────────────────────────────────────────────────────────────
#> (Intercept) 1.633 0.404 4.041 142 0.000 *** [ 0.834, 2.431]
#> Sepal.Width 0.637 0.115 5.527 142 0.000 *** [ 0.409, 0.864]
#> Petal.Length 0.856 0.069 12.353 142 0.000 *** [ 0.719, 0.993]
#> Petal.Width -0.246 0.156 -1.574 142 0.118 [-0.554, 0.063]
#> Speciesversicolor 0.292 0.555 0.526 142 0.600 [-0.806, 1.390]
#> Speciesvirginica -0.567 0.588 -0.965 142 0.336 [-1.729, 0.595]
#> Sepal.Width:Speciesversicolor -0.387 0.191 -2.029 142 0.044 * [-0.764, -0.010]
#> Sepal.Width:Speciesvirginica -0.210 0.188 -1.118 142 0.265 [-0.581, 0.161]
#> ─────────────────────────────────────────────────────────────────────────────────────────────
#> *** p < 0.001, ** p < 0.01, * p < 0.05, + p < 0.1
#> You can drag and resize the R console to view the entire table
#>
#> Goodness of Fit
#> ───────────────────────────────────────────────────────────
#> AIC AICc BIC R² R²_adjusted RMSE σ
#> ───────────────────────────────────────────────────────────
#> 78.797 80.082 105.892 0.871 0.865 0.296 0.305
#> ───────────────────────────────────────────────────────────
#>
#> Model Assumption Check
#> OK: Residuals appear to be independent and not autocorrelated (p = 0.680).
#> OK: residuals appear as normally distributed (p = 0.855).
#> OK: No outliers detected.
#> - Based on the following method and threshold: cook (0.843).
#> - For variable: (Whole model)
#>
#> OK: Error variance appears to be homoscedastic (p = 0.098).
#> Multicollinearity is not checked for models with interaction terms. You may check multicollinearity among predictors of a model without interaction terms
#>