Go to the MLX, M, PDF, or HTML version of this file. Go back to fan’s MEconTools Package, Matlab Code Examples Repository (bookdown site), or Math for Econ with Matlab Repository (bookdown site).
close all;
% Generate Table 1
ar_fl_abc1 = [0.4 0.1 0.25 0.3 0.4];
ar_fl_abc2 = [0.4 0.1 0.2 0.3 0.4];
number1 = '123';
number2 = '456';
mt_data_a = [ar_fl_abc1' ar_fl_abc2'];
tb_test_a = array2table(mt_data_a);
cl_col_names_a = {['col' num2str(number1)], ['col' num2str(number2)]};
cl_row_names_a = strcat('rowA=', string((1:size(mt_data_a,1))));
tb_test_a.Properties.VariableNames = cl_col_names_a;
tb_test_a.Properties.RowNames = cl_row_names_a;
disp(tb_test_a);
col123 col456
______ ______
rowA=1 0.4 0.4
rowA=2 0.1 0.1
rowA=3 0.25 0.2
rowA=4 0.3 0.3
rowA=5 0.4 0.4
% Generate Table 2
rng(123);
ar_fl_abc3 = rand(size(ar_fl_abc1));
ar_fl_abc4 = rand(size(ar_fl_abc1));
ar_fl_abc5 = rand(size(ar_fl_abc1));
mt_data_b = [ar_fl_abc3' ar_fl_abc4' ar_fl_abc5'];
tb_test_b = array2table(mt_data_b);
cl_col_names_b = {['col' num2str(33)], ['col' num2str(44)], ['col' num2str(55)]};
cl_row_names_b = strcat('rowB=', string((1:size(mt_data_a,1))));
tb_test_b.Properties.VariableNames = cl_col_names_b;
tb_test_b.Properties.RowNames = cl_row_names_b;
disp(tb_test_b);
col33 col44 col55
_______ _______ ________
rowB=1 0.69647 0.42311 0.34318
rowB=2 0.28614 0.98076 0.72905
rowB=3 0.22685 0.68483 0.43857
rowB=4 0.55131 0.48093 0.059678
rowB=5 0.71947 0.39212 0.39804
Tables with the same number of rows, add more columns with named variables
% a and b must have the same row names
tb_test_b_withArownames = tb_test_b;
tb_test_b_withArownames.Properties.RowNames = tb_test_a.Properties.RowNames;
tb_ab_col_stacked = [tb_test_a tb_test_b_withArownames];
disp(tb_ab_col_stacked);
col123 col456 col33 col44 col55
______ ______ _______ _______ ________
rowA=1 0.4 0.4 0.69647 0.42311 0.34318
rowA=2 0.1 0.1 0.28614 0.98076 0.72905
rowA=3 0.25 0.2 0.22685 0.68483 0.43857
rowA=4 0.3 0.3 0.55131 0.48093 0.059678
rowA=5 0.4 0.4 0.71947 0.39212 0.39804
Tables with the same number of columns, dd more rows variables
% Select only 2 columns to match table a column count
tb_test_b_subset = tb_test_b(:,1:2);
% Make Column Names consistent
tb_test_b_subset.Properties.VariableNames = cl_col_names_a;
% Reset Row Names, can not have identical row names
tb_test_a.Properties.RowNames = strcat('row=', string((1:size(mt_data_a,1))));
tb_test_b_subset.Properties.RowNames = ...
strcat('row=', string(((size(mt_data_a,1)+1):(size(mt_data_a,1)+size(tb_test_b_subset,1)))));
% tb_test_b_subset.Properties.RowNames =
% Stack Rows
tb_ab_row_stacked = [tb_test_a; tb_test_b_subset];
disp(tb_ab_row_stacked);
col123 col456
_______ _______
row=1 0.4 0.4
row=2 0.1 0.1
row=3 0.25 0.2
row=4 0.3 0.3
row=5 0.4 0.4
row=6 0.69647 0.42311
row=7 0.28614 0.98076
row=8 0.22685 0.68483
row=9 0.55131 0.48093
row=10 0.71947 0.39212