binning data in equally spaced intervals
153 次查看(过去 30 天)
显示 更早的评论
I would like to bin the data in 8 equally spaced bins. I have a the data accessible in vectors [X= conc, Y= alt] this what I have so far to create the bins
binedge = linspace(min(alt),max(alt),6)
then I want to take the average alt and conc of each each bin and plot it. Thanks
4 个评论
per isakson
2015-3-11
The description and examples of the documentation histc, Histogram bin counts (not recommended; use histcounts) are better than mine.
histcounts was introduced in R2014b. I've never used it.
回答(2 个)
Josh Meyer
2015-3-27
As others noted, histcounts was introduced in R2014b and provides a great deal more flexibility for problems like this.
To use 8 bins, just do:
% Assume the first column is X, second column is Y
data = [rand(100,1), rand(100,1)];
% Find the bin placement based on the X values
[N,edges,bins] = histcounts(data(:,1),8);
The third output, bins, describes the bin placement of each element. So this makes finding the average X and Y value in each bin simple.
for n = 1:8
bin_means(:,n) = mean(data(bins==n,:))';
end
bin_means =
0.0751 0.1979 0.3342 0.4658 0.5691 0.7113 0.8691 0.9676
0.5100 0.6264 0.4949 0.5172 0.5323 0.5556 0.4381 0.6514
3 个评论
Andrew Hurford
2020-8-6
This worked well for me - but for 1 result in a bin, mean defaults to selecting data across the data, so set the direction flag to 1
Rahul Kesarkar
2021-4-7
How would it work if i have to bin data for a particular date range?
For example range : - weekday 12/06/2017 20:00 to 13/06/2017 08:00 and repeat this for every weekday. Weekend 9/06/2017 20:00 to 12/06/2017 08:00. Sum up all the values in the bin.
Stephen23
2015-3-11
编辑:Stephen23
2015-3-11
You can use histc to get bin the data, and then accumarray to get the mean of all of the values in each bin:
>> X = 0.25:0.5:5
X =
0.25 0.75 1.25 1.75 2.25 2.75 3.25 3.75 4.25 4.75
>> [B,idx] = histc(X,0:5);
>> V = accumarray(idx(:),X,[],@mean)
V =
0.5000
1.5000
2.5000
3.5000
4.5000
[B,~,idx] = histcounts(...);
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Distribution Plots 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!