MATLAB Answers

Find set of values that are unique to the values in another column

1 ビュー (過去 30 日間)
Elian Ricardo Gonzalez Beltran
Elian Ricardo Gonzalez Beltran 2019 年 11 月 22 日
Answered: Stephen Cobeldick 2019 年 11 月 22 日
I have a matrix like the following.
2 3
2 6
2 8
4 5
5 9
5 39
5 6
I need to do operations on numbers in the second column based on the values in the first column. It should be for the unique vaue "2", mean of (3,6,8) etc. Any help is appreciated. Thanks

  0 件のコメント

サインイン to comment.

採用された回答

Erivelton Gualter
Erivelton Gualter 2019 年 11 月 22 日
% Mqtrix
A =[2 3;
2 6
2 8
4 5
5 9
5 39
5 6]
% Get unique values on first collumn
un = unique(A(:,1)); % un = [2 4 5]
% Output
A(A(:,1)==un(1),2)

  0 件のコメント

サインイン to comment.

More Answers (2)

Andrei Bobrov
Andrei Bobrov 2019 年 11 月 22 日
[G,d] = findgroups(A(:,1));
out = [d,splitapply(@mean,A(:,2),G)];

  0 件のコメント

サインイン to comment.


Stephen Cobeldick
Stephen Cobeldick 2019 年 11 月 22 日
>> M = [2,3;2,6;2,8;4,5;5,9;5,39;5,6]
M =
2 3
2 6
2 8
4 5
5 9
5 39
5 6
>> [U,~,X] = unique(M(:,1));
>> V = accumarray(X,M(:,2),[],@mean);
>> [U,V]
ans =
2.0000 5.6667
4.0000 5.0000
5.0000 18.0000

  0 件のコメント

サインイン to comment.

サインイン してこの質問に回答します。


Translated by