A wrapper around lm and anova to run a regression of a continuous variable against categorical variables. Used for determining the whether the mean of a continuous variable is statistically significant amongst different levels of a categorical variable.
auto_anova(
data,
...,
baseline = c("mean", "median", "first_level", "user_supplied"),
user_supplied_baseline = NULL,
sparse = FALSE,
pval_thresh = 0.1
)
a data frame
tidyselect specification or cols
choose from "mean", "median", "first_level", "user_supplied". what is the baseline to compare each category to? can use the mean and median of the target variable as a global baseline
if intercept is "user_supplied", can enter a numeric value
default FALSE; if true returns a truncated output with only significant results
control significance level for sparse output filtering
data frame
Columns can be inputted as unquoted names or tidyselect. Continuous and categorical variables are automatically determined. If no character or factor column is present, the column with the lowest amount of unique values will be considered the categorical variable.
Description of columns in the output
target continuous variables
predictor categorical variables
level levels in the categorical variables
estimate difference between level target mean and baseline
target_mean target mean per level
n rows in predictor level
std.error standard error of target in predictor level
level_p.value p.value for t.test of whether target mean differs significantly between level and baseline
level_significance level p.value represented by stars
predictor_p.value p.value for significance of entire predictor given by F test
predictor_significance predictor p.value represented by stars
conclusion text interpretation of tests
iris %>%
auto_anova(tidyselect::everything()) -> iris_anova1
iris_anova1 %>%
print(width = Inf)
#> # A tibble: 16 × 12
#> target predictor level estimate target_mean n
#> <chr> <chr> <chr> <dbl> <dbl> <int>
#> 1 Petal.Length Species (Intercept)_GLOBAL_MEAN 3.76 3.76 150
#> 2 Petal.Length Species setosa -2.30 1.46 50
#> 3 Petal.Length Species versicolor 0.502 4.26 50
#> 4 Petal.Length Species virginica 1.79 5.55 50
#> 5 Petal.Width Species (Intercept)_GLOBAL_MEAN 1.20 1.20 150
#> 6 Petal.Width Species setosa -0.953 0.246 50
#> 7 Petal.Width Species versicolor 0.127 1.33 50
#> 8 Petal.Width Species virginica 0.827 2.03 50
#> 9 Sepal.Length Species (Intercept)_GLOBAL_MEAN 5.84 5.84 150
#> 10 Sepal.Length Species setosa -0.837 5.01 50
#> 11 Sepal.Length Species versicolor 0.0927 5.94 50
#> 12 Sepal.Length Species virginica 0.745 6.59 50
#> 13 Sepal.Width Species (Intercept)_GLOBAL_MEAN 3.06 3.06 150
#> 14 Sepal.Width Species setosa 0.371 3.43 50
#> 15 Sepal.Width Species versicolor -0.287 2.77 50
#> 16 Sepal.Width Species virginica -0.0833 2.97 50
#> std.error level_p.value level_significance predictor_p.value
#> <dbl> <dbl> <chr> <dbl>
#> 1 0.105 2.52e-109 "***" 1.22e-40
#> 2 0.210 1.61e- 23 "***" 1.22e-40
#> 3 0.210 1.77e- 2 "*" 1.22e-40
#> 4 0.210 7.95e- 16 "***" 1.22e-40
#> 5 0.0457 3.03e- 79 "***" 6.87e-40
#> 6 0.0914 6.73e- 22 "***" 6.87e-40
#> 7 0.0914 1.67e- 1 " " 6.87e-40
#> 8 0.0914 2.04e- 17 "***" 6.87e-40
#> 9 0.0564 1.18e-234 "***" 1.25e-23
#> 10 0.113 1.20e- 12 "***" 1.25e-23
#> 11 0.113 4.12e- 1 " " 1.25e-23
#> 12 0.113 1.85e- 10 "***" 1.25e-23
#> 13 0.0319 9.24e-225 "***" 2.64e-14
#> 14 0.0639 1.66e- 8 "***" 2.64e-14
#> 15 0.0639 9.81e- 6 "***" 2.64e-14
#> 16 0.0639 1.93e- 1 " " 2.64e-14
#> predictor_significance
#> <chr>
#> 1 ***
#> 2 ***
#> 3 ***
#> 4 ***
#> 5 ***
#> 6 ***
#> 7 ***
#> 8 ***
#> 9 ***
#> 10 ***
#> 11 ***
#> 12 ***
#> 13 ***
#> 14 ***
#> 15 ***
#> 16 ***
#> conclusion
#> <chr>
#> 1 the mean of Petal.Length is HIGHLY significantly different between the leve…
#> 2 the setosa group in Species has a Petal.Length mean of 1.462 which is HIGHLY…
#> 3 the versicolor group in Species has a Petal.Length mean of 4.260 which is si…
#> 4 the virginica group in Species has a Petal.Length mean of 5.552 which is HIG…
#> 5 the mean of Petal.Width is HIGHLY significantly different between the level…
#> 6 the setosa group in Species has a Petal.Width mean of 0.246 which is HIGHLY …
#> 7 the versicolor group in Species has a Petal.Width mean of 1.326 which is NOT…
#> 8 the virginica group in Species has a Petal.Width mean of 2.026 which is HIGH…
#> 9 the mean of Sepal.Length is HIGHLY significantly different between the leve…
#> 10 the setosa group in Species has a Sepal.Length mean of 5.006 which is HIGHLY…
#> 11 the versicolor group in Species has a Sepal.Length mean of 5.936 which is NO…
#> 12 the virginica group in Species has a Sepal.Length mean of 6.588 which is HIG…
#> 13 the mean of Sepal.Width is HIGHLY significantly different between the level…
#> 14 the setosa group in Species has a Sepal.Width mean of 3.428 which is HIGHLY …
#> 15 the versicolor group in Species has a Sepal.Width mean of 2.770 which is HIG…
#> 16 the virginica group in Species has a Sepal.Width mean of 2.974 which is NOT …