what is the average i have data like

1 view (last 30 days)
1 1.2
1 1.3
1 1.5
3 1.4
3 1.6
3 1.8
3 1.9
4 1.2
4 1.7
4 0.9
and i want average like
1 1.333333333
3 1.675
4 1.266666667
  3 Comments
Jan
Jan on 30 Nov 2016
@AKHILESH KUMAR: I've formatted the message for you. Please use the "{} Code" button to avoid the standard block format of text in this forum. Thanks.
AKHILESH KUMAR
AKHILESH KUMAR on 1 Dec 2016
Thank you; it works perfectly but i need explanation. if i have 3 or more column then.

Sign in to comment.

Accepted Answer

Mohammad Abouali
Mohammad Abouali on 30 Nov 2016
% I assume you have your data in a row
x = [1 1.2 1 1.3 1 1.5 3 1.4 3 1.6 3 1.8 3 1.9 4 1.2 4 1.7 4 0.9];
% change it in two column sets of data as in your image:
x = reshape(x,2,[])';
% get average in each group
avg = grpstats(x(:,2),x(:,1),'mean');
% form the output matrix like in your figure:
results = [unique(x(:,1)), avg]
results =
1 1.33333333333333
3 1.675
4 1.26666666666667

More Answers (0)

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!