Table Mean and Data Entry

Hello,
I have searched online and failed to find an answer and wanted to use some more avenues of support (on top of community support). I have 4 sets of data, each have different amounts of rows/cols, that need to be combined such that I can return a value for any given x and y (within the min/max values of my data). If I have cells that have a common x and y, I wish to average them and add them to a new table. If there are any unique combinations of x and y, I wish to add them as entries. Let me know what are some available methods to do this.
Example output would be
WRT 100 70 50 40 10 5 (example)
60 avg ... ... ...
70 ...
80
90
...

3 comentarios

Matt J
Matt J el 1 de Mayo de 2023
We need to see an example data set (preferably small), and the desired output for that example.
ALis
ALis el 1 de Mayo de 2023
Edited, let me know if it's clearer.
dpb
dpb el 1 de Mayo de 2023
Not a bit, no...

Iniciar sesión para comentar.

 Respuesta aceptada

Joe Vinciguerra
Joe Vinciguerra el 2 de Mayo de 2023

0 votos

Use stack() to restructure your tables, and combine them into a single stacked table like this:
load("Workspace.mat")
combined = table();
for i = 1:length(BoilerArray)
vars = BoilerArray(i).data.Properties.VariableNames;
temp = stack(BoilerArray(i).data, vars(2:end), "NewDataVariableName", "data", "IndexVariableName", "ind");
combined = [combined; temp];
end
From there you can use accumarray() to average any duplicate entries.
Then use unstack() if you wish to return to the original table format.

Más respuestas (0)

Categorías

Productos

Versión

R2023a

Preguntada:

el 1 de Mayo de 2023

Respondida:

el 2 de Mayo de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by