How to deal with this grpstat error message

 Accepted Answer

I think you want to use "mean" instead of "average" for the summary statistic.

More Answers (1)

You need to have braces around the average and sum, not brackets
{"average", "sum"}

4 Comments

String arrays are actually allowed there.
load patients
tbl = table(Gender,Age,Weight,Smoker);
tblstats = grpstats(tbl,["Gender","Smoker"],["mean","sum"],"DataVars","Weight")
tblstats = 4×5 table
Gender Smoker GroupCount mean_Weight sum_Weight __________ ______ __________ ___________ __________ Male_0 {'Male' } false 26 180.04 4681 Male_1 {'Male' } true 21 181.14 3804 Female_0 {'Female'} false 40 130.32 5213 Female_1 {'Female'} true 13 130.92 1702
has
tblstats3 = grpstats(tbl,["Gender","Smoker"],["min","max"], ...
"DataVars","Weight")
It's easy to get muddled, because if you specify the input arguments as character arrays rather than strings, then you do need to use curly braces. (Notice the single quotes rather than the double quotes around the arguments.)
load patients
tbl = table(Gender,Age,Weight,Smoker);
tblstats = grpstats(tbl,{'Gender','Smoker'},{'mean','sum'},'DataVars','Weight')
tblstats = 4×5 table
Gender Smoker GroupCount mean_Weight sum_Weight __________ ______ __________ ___________ __________ Male_0 {'Male' } false 26 180.04 4681 Male_1 {'Male' } true 21 181.14 3804 Female_0 {'Female'} false 40 130.32 5213 Female_1 {'Female'} true 13 130.92 1702
Thank you. "You specify the input arguments as character arrays rather than strings". Will you explain a bit more?

Sign in to comment.

Tags

Asked:

on 15 May 2022

Commented:

on 15 May 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!