How to average a column based on another column?

9 ビュー (過去 30 日間)
Leon
Leon 2014 年 2 月 20 日
コメント済み: Leon 2014 年 2 月 20 日
For example, I have a two column data as below:
1945 23.5
1952 25.6
1952 25.9
1952 23.5
1957 26.7
1957 31.2
How do I get a two column data as below, with the left column being the unique numbers: 1945, 1952, 1957, and the second column being the average values of that year:
1945 23.5
1952 25.0
1957 28.95
I can write a loop to do this, but think it must have an easier way to do this.
Thank you@

採用された回答

Matt Kindig
Matt Kindig 2014 年 2 月 20 日
This is a good use of accumarray():
[ud,ix,iy]=unique( data(:,1));
output = [ud, accumarray(iy,data(:,2),[],@mean)];
  1 件のコメント
Leon
Leon 2014 年 2 月 20 日
So cool!
Thank you very much.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by