Table Mean and Data Entry

2 visualizzazioni (ultimi 30 giorni)
ALis
ALis il 1 Mag 2023
Risposto: Joe Vinciguerra il 2 Mag 2023
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 Commenti
ALis
ALis il 1 Mag 2023
Edited, let me know if it's clearer.
dpb
dpb il 1 Mag 2023
Not a bit, no...

Accedi per commentare.

Risposta accettata

Joe Vinciguerra
Joe Vinciguerra il 2 Mag 2023
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.

Più risposte (0)

Prodotti


Release

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by