How to calculate a mean of column one across multiple tables?

16 Ansichten (letzte 30 Tage)
Tomaszzz
Tomaszzz am 16 Mär. 2022
Kommentiert: Tomaszzz am 16 Mär. 2022
Hi all,
I have a 21x1 cell with 100x 18 tables (attached).
What I am seeking to do is to calcuate mean of:
row 1, column1, all tables
row 2, column1, all tables
....
row 100, column 1, all tables
Repeat for remaining 17 columns
So ultimately, I will have a table 100x18.
For example: for column 1
P_acc_z = (t{1,1.P_acc_z_meancycle} + t{2,1.P_acc_z_meancycle}, + t{3,1.P_acc_z_meancycle}+ ...., + t{18,1.P_acc_z_meancycle})/18
Can you help please?

Akzeptierte Antwort

David Hill
David Hill am 16 Mär. 2022
m=sum(arrayfun(@(x)sum(table2array(c{x}(:,1))),1:18))/1800;% c is your cell array, this finds mean of first columns
loop to find means of all columns.
for k=1:18
m(k)=sum(arrayfun(@(x)sum(table2array(c{x}(:,k))),1:18))/1800;
end
  4 Kommentare
Tomaszzz
Tomaszzz am 16 Mär. 2022
I have a couple of tables which have only nan values in a single column which results in having nan values for a mean for this particular column. Is there a way to omit nan values?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Tables finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by