grpstats with nan values

6 views (last 30 days)
Leah
Leah on 12 Dec 2012
Edited: Giuseppe on 27 Nov 2015
so I thought you use nanmean and nansum to ignore nans with grpstats, but it seems that it always ignores them. I want a nan to be returned if there is a nan value present in the grouping. I can only get it work if all the values are nan and you are using mean. I tried to write an anonymous function, but the values are filtered out in the groupstat function before the anonymous function is called. Does anyone have any experience with this? Is it a bug? I'm in version 2010b
d=dataset({[1; 1; 1; 2; 2; 2],'id'},{rand(6,1),'value'})
d.value(1)=nan()
grpstats(d,'id',{'mean' 'sum'})
d.value(1:3)=nan()
grpstats(d,'id',{'mean' 'sum'})
  1 Comment
Giuseppe
Giuseppe on 27 Nov 2015
Edited: Giuseppe on 27 Nov 2015
It is documented in the guide:
grpstats treats NaNs as missing values, and removes them from the input data before calculating summary statistics.
grpstats ignores empty group names.
Still, I think it is a very bad choice. This function must not be used for calculations, but just to obtain summary statistics to display.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!