Sum up values depending on entries in another column

3 views (last 30 days)
Hi,
With the friendly helpf of this forum I was able to count specific values but now there is a last hurdle:
I've got a column vector 300x1 witch contains strings, say:
vector1 = [A;A;B;A;B;B;C;A;C]
and another vector with values, say:
vector2 = [5;2;0;1;4;2;1;3;1]
Now I want to sum up the values in vector 2 for each (same) string, which should look like:
vector3 = [5;7;0;8;4;6;1;11;2]
NOTE: Later on I would like to add more crterions than only the string name.
How can I achieve this?
Thank you in advance!

Accepted Answer

David Hill
David Hill on 7 Apr 2020
vector1=['AABABBCAC']';
vector2=[5 2 0 1 4 2 1 3 1]';
vector3=zeros(size(vector2));
a=unique(vector1);
for k=1:length(a)
vector3(ismember(vector1,a(k)))=cumsum(vector2(ismember(vector1,a(k))));
end

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!