pingouin.mixed_anova

pingouin.
mixed_anova
(dv=None, within=None, subject=None, between=None, data=None, correction='auto', export_filename=None)[source] Mixeddesign (splitplot) ANOVA.
 Parameters
 dvstring
Name of column containing the dependant variable.
 withinstring
Name of column containing the within factor.
 subjectstring
Name of column containing the subject identifier.
 betweenstring
Name of column containing the between factor.
 datapandas DataFrame
DataFrame. Note that this function can also directly be used as a Pandas method, in which case this argument is no longer needed.
 correctionstring or boolean
If True, return GreenhouseGeisser corrected pvalue. If ‘auto’ (default), compute Mauchly’s test of sphericity to determine whether the pvalues needs to be corrected.
 export_filenamestring
Filename (without extension) for the output file. If None, do not export the table. By default, the file will be created in the current python console directory. To change that, specify the filename with full path.
 Returns
 aovDataFrame
ANOVA summary
'Source' : Names of the factor considered 'ddof1' : Degrees of freedom (numerator) 'ddof2' : Degrees of freedom (denominator) 'F' : Fvalues 'punc' : Uncorrected pvalues 'np2' : Partial etasquare effect sizes 'eps' : GreenhouseGeisser epsilon factor ( = index of sphericity) 'pGGcorr' : GreenhouseGeisser corrected pvalues 'Wspher' : Sphericity test statistic 'pspher' : pvalue of the sphericity test 'sphericity' : sphericity of the data (boolean)
Notes
Results have been tested against R and JASP.
Missing values are automatically removed (listwise deletion) using the
pingouin.remove_rm_na()
function. This could drastically decrease the power of the ANOVA if many missing values are present. In that case, it might be better to use linear mixed effects models.If the betweensubject groups are unbalanced (= unequal sample sizes), a type II ANOVA will be computed.
Examples
Compute a twoway mixed model ANOVA.
>>> from pingouin import mixed_anova, read_dataset >>> df = read_dataset('mixed_anova') >>> aov = mixed_anova(dv='Scores', between='Group', ... within='Time', subject='Subject', data=df) >>> aov Source SS DF1 DF2 MS F punc np2 eps 0 Group 5.460 1 58 5.460 5.052 0.028420 0.080  1 Time 7.628 2 116 3.814 4.027 0.020373 0.065 0.999 2 Interaction 5.168 2 116 2.584 2.728 0.069530 0.045 