Linear mixed model
Overview
This function uses fitlme to fit one-way or two-way linear mixed models to data with with an optional grouping variable.
This is a useful approach when the data exhibit nesting. For example, the data include values measured from several specimens from the same person.
Models can be of the form (using Wilkinson notation):
- y ~ factor_1
- y ~ factor_1 + (1 | grouping)
- y ~ factor_1 + factor_2 + (factor_1 * factor_2)
- y ~ factor_1 + factor_2 + (factor_1 * factor_2) + (1 | grouping)
Main effects are dervied using anova
Post-hoc tests are calculated using coefTest and then corrected using the Holm-Bonferroni method.
Examples
Function arguments
function stats = linear_mixed_model(t, data_label, f1_label, options);
arguments
t (:,:) table
data_label (1,1) string
f1_label (1,1) string
options.f2_label (1,1) string = ""
options.grouping_label (1,1) string = ""
options.figure_handle (1,1) double = 0
options.subplot_handle (1,1) double = 0
end
Details
Inputs
Parameter | Values | Needed | Description |
---|---|---|---|
t | table | Required | Data in tidyverse format |
data_label | string | Required | Table variable for test data |
f1_label | string | Required | Table variable for factor 1 |
f2_label | string | Optional | Table variable for factor 2 |
grouping_label | string | Optional | Table variable for grouping parameter |
figure_handle | double | Optional | Figure handle, if provided code will create a new figure with this handle showing data as a simple swarmchart |
subplot_handle | double | Optional | Subplot handle, if provided code will add a simple swarmchart to the subplot |
Return values
Parameter | Fields | Description |
---|---|---|
stats | Structure | |
main_effects | A main effects table, derived from anova | |
post_hoc | A table showing post-hoc tests corrected for multiple comparisons using the Holm-Bonferroni method | |
model_string | A string with the model that was tested in Wilkinson notation | |
main_effects_string | A string summarizing the main effects |