calculations in levels ( per name and rank)

2 vues (au cours des 30 derniers jours)
Vanessa
Vanessa le 22 Sep 2017
Commenté : Vanessa le 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?

Réponses (1)

Guillaume
Guillaume le 22 Sep 2017
Modifié(e) : Guillaume le 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 commentaires
Vanessa
Vanessa le 22 Sep 2017
The results are wrong. I get larger results than the true ones. How can I fix this??
Vanessa
Vanessa le 22 Sep 2017
Sorry my mistake

Connectez-vous pour commenter.

Catégories

En savoir plus sur Cell Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by