multcompare
Multiple comparison of marginal means for multiple analysis of variance (MANOVA)
Since R2023b
Description
specifies options using one or more name-value arguments in addition to any of the input
argument combinations in the previous syntaxes. For example, you can specify the confidence
level and the type of critical value used to determine if the means are significantly
different. m
= multcompare(___,Name=Value
)
Examples
Perform Multiple Comparison of Marginal Means for One-Way MANOVA
Load the patients
data set.
load patients
The variable Smoker
contains data for patient smoking status, and the variables Systolic
and Diastolic
contain data for patient systolic and diastolic blood pressure.
Perform a one-way MANOVA using Smoker
as the factor and Systolic
and Diastolic
as the response variables.
maov = manova(Smoker,[Systolic Diastolic],FactorNames="Smoker")
maov = 1-way manova Y1,Y2 ~ 1 + Smoker Source DF TestStatistic Value F DFNumerator DFDenominator pValue ______ __ _____________ ______ ______ ___________ _____________ __________ Smoker 1 pillai 0.6763 101.33 2 97 1.7465e-24 Error 98 Total 99 Properties, Methods
maov
is a manova
object containing the results of the one-way MANOVA. The small p-value for Smoker
indicates that smoking status has a statistically significant effect on the mean response vector.
Perform a multiple comparison of marginal means for the one-way MANOVA.
m = multcompare(maov)
m=1×6 table
Group1 Group2 MeanDifference Lower Upper pValue
______ ______ ______________ _______ _______ __________
false true -10.246 -11.667 -8.8247 1.0596e-10
The MeanDifference
column in the table output indicates that the marginal mean for smokers is larger than the marginal mean for non-smokers. The small p-value in the pValue
column indicates that this difference is statistically significant, which is consistent with the small p-value for the Smoker
term in the MANOVA model.
Specify Critical Value Type for Multiple Comparison of Means
Load the carsmall
data set.
load carsmall
The variable Model_Year
contains data for the year a car was manufactured, and the variable Cylinders
contains data for the number of engine cylinders in the car. The Acceleration
and Displacement
variables contain data for car acceleration and displacement.
Use the table
function to create a table from the data in Model_Year
, Cylinders
, Acceleration
, and Displacement
.
tbl = table(Model_Year,Cylinders,Acceleration,Displacement,VariableNames=["Year" "Cylinders" "Acceleration" "Displacement"]);
Perform a two-way MANOVA using the table variables Year
and Cylinders
as factors, and the Acceleration
and Displacement
variables as response variables.
maov = manova(tbl,"Acceleration,Displacement ~ Cylinders + Year")
maov = 2-way manova Acceleration,Displacement ~ 1 + Year + Cylinders Source DF TestStatistic Value F DFNumerator DFDenominator pValue _________ __ _____________ ________ ______ ___________ _____________ __________ Year 2 pillai 0.084893 2.1056 4 190 0.081708 Cylinders 2 pillai 0.94174 42.27 4 190 2.5049e-25 Error 95 Total 99 Properties, Methods
maov
is a manova
object that contains the results of the two-way MANOVA. The table output shows that the p-value for the MANOVA model term Year
is too large to conclude that Year
has a statistically significant effect on the mean response vector. However, the small p-value for Cylinders
indicates that enough evidence exists to conclude that Cylinders
has a statistically significant effect on the mean response vector.
Perform Scheffe's test to determine which values of the factor Cylinders
correspond to statistically different marginal means.
m = multcompare(maov,"Cylinders",CriticalValueType="scheffe")
m=3×6 table
Group1 Group2 MeanDifference Lower Upper pValue
______ ______ ______________ _______ _______ __________
4 6 -53.756 -66.044 -41.467 2.0412e-17
4 8 -117.35 -129.12 -105.58 3.3198e-42
6 8 -63.594 -77.001 -50.188 2.4573e-19
The small p-values in the pValue
column indicate that each marginal mean is statistically different from the other two.
Input Arguments
maov
— MANOVA results
manova
object
MANOVA results, specified as a manova
object.
The properties of maov
contain the factor values and response data
used by multcompare
to calculate the difference in means.
factor
— Factor used to group response data
string scalar | character array
Factor used to group the response data, specified as a string scalar or character array.
factor
must be a name in
maov.FactorNames
.
Example: "Factor2"
Data Types: char
| string
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Example: multcompare(maov,Alpha=0.01,CriticalValueType="dunnett")
sets
the significance level of the confidence intervals to 0.01
and uses
Dunnett's critical value to calculate the p-values.
Alpha
— Significance level
0.05
(default) | scalar value in the range (0,1)
Significance level for the estimates, specified as a scalar value in the range
(0,1). The confidence level of the confidence intervals is . The default value for Alpha
is
0.05
, which returns 95% confidence intervals for the
estimates.
Example: Alpha=0.01
Data Types: single
| double
CriticalValueType
— Critical value type
"tukey-kramer"
(default) | "hsd"
| "dunn-sidak"
| "bonferroni"
| "scheffe"
| "dunnett"
| "lsd"
Critical value type used by the multcompare
function to
calculate p-values, specified as one of the options in the
following table. Each option specifies the statistical test that
multcompare
uses to calculate the critical value.
Option | Statistical Test |
---|---|
"tukey-kramer" (default) | Tukey-Kramer test |
"hsd" | Honestly Significant Difference test (same as
"tukey-kramer" ) |
"dunn-sidak" | Dunn-Sidak correction |
"bonferroni" | Bonferroni correction |
"scheffe" | Scheffé test |
"dunnett" | Dunnett's test — The control group is selected in the generated plot and cannot be changed. |
"lsd" | Stands for Least Significant Difference and uses the critical value for a plain t-test. This option does not protect against the multiple comparisons problem. In other words, the probability of two marginal means being incorrectly flagged as significantly different increases with the number of factor values. |
Example: CriticalValueType="dunn-sidak"
Data Types: char
| string
Output Arguments
m
— Multiple comparison procedure results
table
Multiple comparison procedure results, returned as a table with the following variables:
Group1
— Values of the factors in the first comparison groupGroup2
— Values of the factors in the second comparison groupMeanDifference
— Difference in the marginal mean response between the observations inGroup1
and the observations inGroup2
Lower
— 95% lower confidence bound on the marginal mean differenceUpper
— 95% upper confidence bound on the marginal mean differencepValue
— p-value corresponding to the null hypothesis that the marginal mean ofGroup1
is not statistically different from the mean ofGroup2
Version History
Introduced in R2023b
See Also
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)