Find set of values that are unique to the values in another column
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Elian Ricardo Gonzalez Beltran
il 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 Commenti
Risposta accettata
Erivelton Gualter
il 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 Commenti
Più risposte (2)
Andrei Bobrov
il 22 Nov 2019
[G,d] = findgroups(A(:,1));
out = [d,splitapply(@mean,A(:,2),G)];
0 Commenti
Stephen23
il 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 Commenti
Vedere anche
Categorie
Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!