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.

Categories

Find more on Data Preprocessing 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!