Find set of values that are unique to the values in another column
Mostra commenti meno recenti
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
Risposta accettata
Più risposte (2)
Andrei Bobrov
il 22 Nov 2019
[G,d] = findgroups(A(:,1));
out = [d,splitapply(@mean,A(:,2),G)];
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
Categorie
Scopri di più su Creating and Concatenating Matrices in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!