grpstats
               Summary statistics by group.  grpstats computes groupwise summary
 statistics, for data in a matrix x.  grpstats treats NaNs as
 missing values, and removes them.
 means = grpstats (x, group), when X is a matrix of
 observations, returns the means of each column of x by group.
 group is a grouping variable defined as a categorical variable,
 numeric, string array, or cell array of strings.  group can be [] or
 omitted to compute the mean of the entire sample without grouping.
 [a, b, …] = grpstats (x, group,
 whichstats), for a numeric matrix X, returns the statistics specified
 by whichstats, as separate arrays a, b, ….
 whichstats can be a single function name, or a cell array containing
 multiple function names.  The number of output arguments must match the
 number of function names in whichstats.
 Names in whichstats can be chosen from among the following:
| "mean" | mean | |
| "median" | median | |
| "sem" | standard error of the mean | |
| "std" | standard deviation | |
| "var" | variance | |
| "min" | minimum value | |
| "max" | maximum value | |
| "range" | maximum - minimum | |
| "numel" | count, or number of elements | |
| "meanci" | 95% confidence interval for the mean | |
| "predci" | 95% prediction interval for a new observation | |
| "gname" | group name | 
 […] = grpstats (x, group, whichstats,
 alpha) specifies the confidence level as 100(1-ALPHA)% for the "meanci"
 and "predci" options.  Default value for alpha is 0.05.
Examples:
|  load carsmall;
 [m,p,g] = grpstats (Weight, Model_Year, {"mean", "predci", "gname"})
 n = length(m);
 errorbar((1:n)',m,p(:,2)-m)
 set (gca, "xtick", 1:n, "xticklabel", g);
 title ("95% prediction intervals for mean weight by year")
  | 
See also: grp2idx
Source Code: grpstats
| 
 load carsmall;
 [m,p,g] = grpstats (Weight, Model_Year, {"mean", "predci", "gname"})
 n = length(m);
 errorbar((1:n)',m,p(:,2)-m);
 set (gca, "xtick", 1:n, "xticklabel", g);
 title ("95% prediction intervals for mean weight by year");
m =
   3441.3
   3078.7
   2453.5
p =
   1847.1   5035.6
   1457.0   4700.4
   1754.1   3153.0
g =
{
  [1,1] = 70
  [2,1] = 76
  [3,1] = 82
}
                     | 
 
                  | 
 load carsmall;
 [m,p,g] = grpstats ([Acceleration,Weight/1000],Cylinders, ...
                     {"mean", "meanci", "gname"}, 0.05)
 [c,r] = size (m);
 errorbar((1:c)'.*ones(c,r),m,p(:,[(1:r)])-m);
 set (gca, "xtick", 1:c, "xticklabel", g);
 title ("95% prediction intervals for mean weight by year");
m =
   11.6406    3.9703
   16.6706    2.3726
   16.4765    3.1255
p =
   11.1762    3.8899   12.1050    4.0506
   16.1385    2.2998   17.2027    2.4454
   16.1622    3.0518   16.7907    3.1992
g =
{
  [1,1] = 8
  [2,1] = 4
  [3,1] = 6
}
                     | 
