Clear Filters
Clear Filters

calculations in levels ( per name and rank)

1 view (last 30 days)
Vanessa
Vanessa on 22 Sep 2017
Commented: Vanessa on 22 Sep 2017
Hello everyone,
I have a dataset array with names,ranks and durations
[Name] [Rank] [Duration]
[xxxx ] [ MAS ] [6]
[xxxx] [MAS] [5]
[yyyy] [MAS] [5]
[yyyy] [MAS] [4]
[yyyy] [CO] [7]
[yyyy] [CO] [6]
xxxx 1st person
yyyy 2nd person
I want to calculate the sum of durations per name and per rank
1st person : 11 months as MAS
2nd person: 9 months as MAS and 13 months as CO
How can I achieve this?

Answers (1)

Guillaume
Guillaume on 22 Sep 2017
Edited: Guillaume on 22 Sep 2017
[group, idname, idrank] = findgroups(yourdataset.Name, yourdataset.Rank);
result = table(idname, idrank, splitapply(@sum, yourdataset.Duration, group), 'VariableNames', {'Name', 'Rank', 'TotalDuration'})
  3 Comments
Vanessa
Vanessa on 22 Sep 2017
The results are wrong. I get larger results than the true ones. How can I fix this??

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!