x-axis of multcompare() does not plot group means
5 views (last 30 days)
Show older comments
Sascha Frölich
on 24 May 2022
Edited: Scott MacKenzie
on 28 May 2022
Hi,
I am performing an ANOVA on four different groups (data appended). I am using the following code:
[p, tbl, stats] = kruskalwallis(data(:, 1:4));
[c, m, h, gnames] = multcompare(stats);
The group means are 1.1793, 1.5778, 3.8336, 0.9215. However, the figure output by multcompare(stats) has an x-axis range from 100 to 350 (see image). I am confused since as far as I know, the group means should be on the x-axis. Did I do anything wrong?
0 Comments
Accepted Answer
Scott MacKenzie
on 28 May 2022
Edited: Scott MacKenzie
on 28 May 2022
You didn't do anything wrong. The Kruskal Wallis procedure, being non-parametric, works with the rank-transformed data, not the raw data. The group means in the multcompare chart are the means of the ranked data in each group.
Alternatively, if the raw data are parametric, you can avoid transforming the data to ranks by using anova1 instead of kruskalwallis:
data = readmatrix('testdata.txt'); % your data
[p, tbl, stats] = anova1(data);
[c, m, h, gnames] = multcompare(stats);
Output:
0 Comments
More Answers (0)
See Also
Categories
Find more on Analysis of Variance and Covariance in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!