R/mixed_anova_slopes.R
mixed_anova_slopes.Rd
One of four related functions for mixed effects analyses (based on lmer
and as_lmerModLmerTest
) to get a linear model for downstream steps, or an ANOVA table.
mixed_model
mixed_anova
mixed_model_slopes
mixed_anova_slopes
.
mixed_anova_slopes(
data,
Y_value,
Fixed_Factor,
Slopes_Factor,
Random_Factor,
Df_method = "Kenward-Roger",
SS_method = "II",
...
)
a data table object, e.g. data.frame or tibble.
name of column containing quantitative (dependent) variable, provided within "quotes".
name(s) of categorical fixed factors (independent variables) provided as a vector if more than one or within "quotes".
name of factor to allow varying slopes on.
name(s) of random factors to allow random intercepts; to be provided as a vector when more than one or within "quotes".
method for calculating degrees of freedom. Default is Kenward-Roger, can be changed to "Satterthwaite".
type of sum of square, default is type II, can be changed to "I", "III", "1" or "2", or others.
any additional arguments to pass on to lmer
if required.
ANOVA table of class "anova" and "data.frame".
These functions require a data table, one dependent variable (Y_value), one or more independent variables (Fixed_Factor), and at least one random factor (Random_Factor). These should match names of variables in the long-format data table exactly.
Outputs of mixed_model
and mixed_model_slopes
can be used for post-hoc comparisons with posthoc_Pairwise
, posthoc_Levelwise
, posthoc_vsRef
, posthoc_Trends_Pairwise
, posthoc_Trends_Levelwise
and posthoc_Trends_vsRef
or with emmeans
.
More than one fixed factors can be provided as a vector (e.g. c("A", "B")). A full model with interaction term is fitted.
This means when Y_value = Y, Fixed_factor = c("A", "B"), Random_factor = "R"
are entered as arguments, these are passed on as Y ~ A*B + (1|R)
(which is equivalent to Y ~ A + B + A:B + (1|R)
).
In mixed_model_slopes
and mixed_anova_slopes
, the following kind of formula is used: Y ~ A*B + (S|R)
(which is equivalent to Y ~ A + B + A:B + (S|R)
).
In this experimental implementation, random slopes and intercepts are fitted ((Slopes_Factor|Random_Factor)
). Only one term each is allowed for Slopes_Factor
and Random_Factor
.
mixed_anova_slopes(data = data_2w_Tdeath,
Y_value = "PI",
Fixed_Factor = c("Genotype", "Time"),
Slopes_Factor = "Time",
Random_Factor = "Experiment")
#> boundary (singular) fit: see help('isSingular')
#> Type II Analysis of Variance Table with Kenward-Roger's method
#> Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
#> Genotype 2921.08 2921.08 1 10 120.0752 6.832e-07 ***
#> Time 404.49 404.49 1 5 16.6273 0.009562 **
#> Genotype:Time 158.93 158.93 1 10 6.5329 0.028571 *
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1