Table Mean and Data Entry

2 views (last 30 days)
ALis
ALis on 1 May 2023
Answered: Joe Vinciguerra on 2 May 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 Comments
ALis
ALis on 1 May 2023
Edited, let me know if it's clearer.
dpb
dpb on 1 May 2023
Not a bit, no...

Sign in to comment.

Accepted Answer

Joe Vinciguerra
Joe Vinciguerra on 2 May 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.

More Answers (0)

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!