How to create a structure array?

1 visualización (últimos 30 días)
Chiara Scarpellini
Chiara Scarpellini el 27 de Jul. de 2021
Comentada: Walter Roberson el 29 de Jul. de 2021
I would like to associate to every name on the left an array with all the numbers on the right column associated to that name. Idk if this would be the best way of dividing the data according to the names, if you have other ideas I'm also open to new solutions
"NovanaModelTUDEAA" 19907
"NovanaModelB8" 0
"DK2013Hulbyrenden" 2456.9
"NovanaModelB53" 2000
"DKQNPAa62110222" 1349.5
"NovanaModelLINDESAADK1" 97
"DK20134780780" 0
"NovanaModelB18" 1469.5
"NovanaModelB28" 7581
"NovanaModelB18" 979.67
"DK2013Svenstruprenden" 2282
"NovanaModelB18" 1469.5
"NovanaModelB28" 2940
"NovanaModelTRYGGEVAELDEAA" 12481
"NovanaModelSKVL9" 617
"NOVANAMODELLERKENFELDAA" 29066
"NOVANAMODELVOLDBAEK" 4225
"NOVANAMODELLYNGBYGAARDSAA" 16316
"NOVANAMODELMODEBROBAEK" 4100
"DK20132255838" 0
"DK20132255838" 489.83
"NovanaModelVAEREBROAA" 17752
"DK20132255838" 0
"NovanaModelBjoerupBaek" 1437.9
"NovanaModelFribroedreAA" 13249
"NovanaModelFribroedreAA" 13249
  2 comentarios
Matt J
Matt J el 27 de Jul. de 2021
You have duplicate instances of names on the left with different values on the right. How would you wish to resolve that?
Chiara Scarpellini
Chiara Scarpellini el 27 de Jul. de 2021
I would like to obtain something like this

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 27 de Jul. de 2021
findgroups(), and use the group numbers to splitapply() where the work function is @(x){x} . The results should be a cell array.
Now take the second output from the findgroups, the IDs output, which should be a cell array
struct('name', IDs, 'Qvolume', results_of_splitapply)
In the case where the values are cell array, then struct will create a struct array.
  6 comentarios
Chiara Scarpellini
Chiara Scarpellini el 29 de Jul. de 2021
Perfect! Do you have an idea on how to sort C?
Walter Roberson
Walter Roberson el 29 de Jul. de 2021
C has entries of different lengths; it is not clear what it means to sort it? If you mean you want each one to be sorted within itself then change to @(x){sort(x)}

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Cell Arrays en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by