add a row of summary statistics in a table

14 次查看(过去 30 天)
Suppose I have a table in Matlab:
Then I want to add a summary statistics (sum for the first col and average for the second col)
Then how shall I proceed?

采纳的回答

Voss
Voss 2022-6-18
t = table({'new york';'chicago'},[10;5],[17;18],'VariableNames',{' ','visitor','temperature'})
t = 2×3 table
visitor temperature ____________ _______ ___________ {'new york'} 10 17 {'chicago' } 5 18
t(end+1,:) = {'' sum(t{:,'visitor'}) mean(t{:,'temperature'})}
t = 3×3 table
visitor temperature ____________ _______ ___________ {'new york'} 10 17 {'chicago' } 5 18 {0×0 char } 15 17.5

更多回答(1 个)

the cyclist
the cyclist 2022-6-18
Here is one way:
% The table
T = table([10;5],[17;18],'VariableNames',{'visitor','temperature'},'RowNames',{'New York','Chicago'});
% Numeric variables for the mean
vars = {'visitor','temperature'};
% Calculate the mean
varsMean = mean(T{:,vars});
% Append mean to table, and change the RowNames property of that row
T{end+1,vars} = varsMean;
T.Properties.RowNames{end} = 'mean';
% Display
T
T = 3×2 table
visitor temperature _______ ___________ New York 10 17 Chicago 5 18 mean 7.5 17.5
  2 个评论
alpedhuez
alpedhuez 2022-6-18
Thank you. But the first column is meant to be sum of elements.
the cyclist
the cyclist 2022-6-18
Oh, sorry. I misread. Looks like you got an effectively equivalent answer.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by