grpstats for several variables

12 views (last 30 days)
Hello everybody,
i have values for Sodium, creatinine and many more variables for patients. I need to calculate mean median values of them. Should i use everytime mean(ds.Sodium) or is there a easier way to do that ? i ve been trying to use grpstats function i couldnt make it work. if someone would explain me i would be very happy. thank you
Adam Danz
Adam Danz on 8 Sep 2019
What problems are you having? There are lots of examples in documentation which is the first place to go for help.
Adam Danz
Adam Danz on 9 Sep 2019
Ongun Palaoglu's answer moved here as a comment.
stat1 = grpstats(ds, {'Sodyum' , 'AST'} , {'mean' , 'median'}) i did this, for my dataset ds, {variables} , {what i want to calculate'means'}

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 9 Sep 2019
Edited: Adam Danz on 9 Sep 2019
Have a look at the list of statistics that are accepted as character vectors. Note that 'median' is not one of the options.
Instead, you'll need to use a function handle to list 'median' as a stat.
stat1 = grpstats(ds, {'Sodyum', 'AST'} , {'mean', @median});
That fixes any syntax issues. If problesm persist, please describe the problem in detail and share the result of the following line (assuming ds is a table which appears to be the case).
head(ds) % if ds is a table
Adam Danz
Adam Danz on 11 Sep 2019
Ongun, please spend some time reading through the documentation. I provided a link to the grpstats() function. Often times it help looking at the examples too. Look for an example in the grpstats page that matches your inputs.
In this line
stat1 = grpstats(T, {'Sodyum', 'AST'} , {'mean', @median},'DataVars',{'ALT'})
you are computing the mean and median ALT for each "Sodym" and "AST" group -combination. Those group combinations are the row names in the table output.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!