Find set of values that are unique to the values in another column
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Elian Ricardo Gonzalez Beltran
le 22 Nov 2019
Réponse apportée : Stephen23
le 22 Nov 2019
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 commentaires
Réponse acceptée
Erivelton Gualter
le 22 Nov 2019
% 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 commentaires
Plus de réponses (2)
Andrei Bobrov
le 22 Nov 2019
[G,d] = findgroups(A(:,1));
out = [d,splitapply(@mean,A(:,2),G)];
0 commentaires
Stephen23
le 22 Nov 2019
>> 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 commentaires
Voir également
Catégories
En savoir plus sur Matrices and Arrays dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!