Aggregate data using any number of multiple columns
Surprisingly, I never came across the simple solution of aggregating data using accumarray. Accumarray needs indices supplied to aggregate too. Combining this with the Unique function, the user can quickly and conveniently aggregate data using any available and appropriate funciton supported by Accumarray. The indices are created using the unique function.
This function is especially useful for aggregating timeseries of data say from hourly to daily, monthly, seasonal, etc. Like summing up precipitation, or averaging flow rates, etc.
Expected inputs is a timeseries of data with all but the last column used for generate unique combinations, and the last column is what the summarization is done on.
Additionally, I wrote a similar function (accumSeasonTS.m) aggregating data to seasons as defined by the solstices and equinoxes when given two columns of data: serial date and associated data values.
datain = r x c
fn = supplied string specifying a valid summary statistic function.
Example: @sum, @max, @min, etc.
dataout = r x c
Written by:
Jeff Burkey
King County- DNRP
email: jeff.burkey@kingcounty.gov
June 9, 2009
Syntax:
[dataout] = accumTS(datain,fn)
Example:
d = accumTS(din,@max);
引用格式
Jeff Burkey (2024). Aggregate data using any number of multiple columns (https://www.mathworks.com/matlabcentral/fileexchange/24391-aggregate-data-using-any-number-of-multiple-columns), MATLAB Central File Exchange. 检索时间: .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
- MATLAB > Language Fundamentals > Data Types > Tables >
标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!