grpstats with nan values
6 views (last 30 days)
Show older comments
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
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.
Answers (0)
See Also
Categories
Find more on NaNs 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!