\(~\)

I recently discovered a wonderful package for easily checking linear regression assumptions via diagnostic plots: the `check_model()`

function of the `performance`

package.

Let’s make a quick demonstration of this package first.

```
# Load necessary libraries
library(performance)
library(see)
# Note: if you haven't installed the packages above, you'll need to install them first by using:
# install.packages("performance") and install.packages("see")
# Create a regression model
<- lm(mpg ~ wt * cyl + gear, data = mtcars)
model
# Check model assumptions
check_model(model)
```

Wonderful! And efficient. However, sometimes, for different reasons, someone might want to check assumptions with an objective test. Testing each assumption one by one is kind of time-consuming, so I made a convenience function to accelerate this process.

### Getting Started

Load the function from my `github`

:

`source("https://raw.githubusercontent.com/RemPsyc/niceplots/master/niceAssFunction.R")`

The raw output doesn’t look so nice in the console because the column names are so long, but it does look good in the viewer or when exported to a word processing software because the column names get wrapped. You can try it in Rstudio yourself with the following command:

```
*Warning:* running the function below for the first time will install and load the following
packages (if they are not already installed and loaded on your machine): lmtest and crayon.
Note: This will run many lines of code on your console and could take a few minutes.
```

`View(niceAss(model))`

```
## Interpretation: (p) values < .05 imply assumptions are not respected.
## Diagnostic is how many assumptions are not respected for a given model or variable.
##
```

This function is particularly useful when testing several models simultaneously as it makes for a nice table of results. Let’s make a short demonstration of this.

```
# Define our dependent variables
<- names(mtcars[-1])) (DV
```

`## [1] "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear" "carb"`

```
# Make list of all formulas
<- paste(DV, "~ mpg")) (formulas
```

```
## [1] "cyl ~ mpg" "disp ~ mpg" "hp ~ mpg" "drat ~ mpg" "wt ~ mpg"
## [6] "qsec ~ mpg" "vs ~ mpg" "am ~ mpg" "gear ~ mpg" "carb ~ mpg"
```

```
# Make list of all models
<- sapply(X = formulas, FUN = lm, data = mtcars, simplify = FALSE, USE.NAMES = TRUE)
models.list
# Make diagnostic table
<- do.call("rbind", lapply(models.list, niceAss)) ass.table
```

```
## Interpretation: (p) values < .05 imply assumptions are not respected.
## Diagnostic is how many assumptions are not respected for a given model or variable.
##
## Interpretation: (p) values < .05 imply assumptions are not respected.
## Diagnostic is how many assumptions are not respected for a given model or variable.
##
## Interpretation: (p) values < .05 imply assumptions are not respected.
## Diagnostic is how many assumptions are not respected for a given model or variable.
##
## Interpretation: (p) values < .05 imply assumptions are not respected.
## Diagnostic is how many assumptions are not respected for a given model or variable.
##
## Interpretation: (p) values < .05 imply assumptions are not respected.
## Diagnostic is how many assumptions are not respected for a given model or variable.
##
## Interpretation: (p) values < .05 imply assumptions are not respected.
## Diagnostic is how many assumptions are not respected for a given model or variable.
##
## Interpretation: (p) values < .05 imply assumptions are not respected.
## Diagnostic is how many assumptions are not respected for a given model or variable.
##
## Interpretation: (p) values < .05 imply assumptions are not respected.
## Diagnostic is how many assumptions are not respected for a given model or variable.
##
## Interpretation: (p) values < .05 imply assumptions are not respected.
## Diagnostic is how many assumptions are not respected for a given model or variable.
##
## Interpretation: (p) values < .05 imply assumptions are not respected.
## Diagnostic is how many assumptions are not respected for a given model or variable.
##
```

Use the Viewer for better results (or export it to Word using my niceTable() function)

`View(ass.table)`

\(~\)

\(~\)

### Concluding Statement

Make sure to check out this page again if you use the code after a time or if you encounter errors, as I periodically update or improve the code.

You can always edit the function to suit your purposes, or contact me for questions or requests to modify this function at https://remi-theriault.com/contact! Thanks for reading my guide! :) \(~\)

\(~\)

\(~\)

\(~\)

\(~\)

*Updated 2020-12-25*

\(~\)

\(~\)

\(~\)

\(~\)

\(~\)

\(~\)