How to add header to a table?

Hello,
How can I add header to my table below ?
I want to add header
header={'Call price','Standard error','Number of paths'}
to the table.
S0=30;
K=32;
r=0.03;
sigma=0.2;
T=1;
n=365;
%m=500; % number of simulations
j=1;
for i=500:500:10000
[call_price,standard_error,numberOfpaths]=Call_Simulation(S0,K,r,sigma,n,i,T);
Call_Price(j)=call_price;
Standard_Error(j)=standard_error;
NumberOfPaths(j)=numberOfpaths;
j=j+1;
end
header={'Call price','Standard error','Number of paths'};
T=table(Call_Price',Standard_Error',NumberOfPaths');
disp(T);
error_table.PNG

 Accepted Answer

Star Strider
Star Strider on 17 Feb 2019
Use the 'VariableNames' (link) name-value pair with your ‘header’ cell array.

5 Comments

I looked through the link.
It does not help.
The elements of ‘header’ must be valid MATLAB variable names. Then it works.
Try this:
T = table(rand(5,1),rand(5,1),rand(5,1))
header={'Call_price','Standard_error','Number_of_paths'};
T.Properties.VariableNames = header
producing:
T =
5×3 table
Var1 Var2 Var3
_______ _______ ________
0.48861 0.54681 0.67914
0.57853 0.52114 0.39552
0.23728 0.23159 0.36744
0.45885 0.4889 0.98798
0.96309 0.62406 0.037739
T =
5×3 table
Call_price Standard_error Number_of_paths
__________ ______________ _______________
0.48861 0.54681 0.67914
0.57853 0.52114 0.39552
0.23728 0.23159 0.36744
0.45885 0.4889 0.98798
0.96309 0.62406 0.037739
That should do what you want.
Note that table() objects do not support arbitrary column headers. They can store VariableDescription for each column, but summary() is about the only thing that displays the description.
@walter can you shhow an example of summary?

Sign in to comment.

More Answers (1)

Denise Selegato
Denise Selegato on 24 Sep 2019
Hi, I've been having a similar problem.
I want to put the following header on my table(T):
header = {'#DATA=RDC', 'PRIOR=GAUSS'}
However, if I try to use T.Properties.VariableNames, it gives me an error because I started my cell array with a "#". I need this # to be included in the header.
Is there a solution to my problem?
Thank you!

3 Comments

Prior to R2019b, variable names in table objects have to be valid MATLAB variable names. Neither one in ‘header’ qualifies. You can certainly print those to a file as a separate line before you print your data (most likely using fprintf), then output your data to the file in a separate fprintf call.
However, if you upgrade to R2019b, you can likely do what you want. See the Release Notes, and specifically the writetable documentations section on: Write Tabular Data Containing Arbitrary Variable Names.
Note that this is also true for table objects in general. See: Specify Variable Names Using Any Characters in the R2019b table documentation.
It worked perfctly on MATLAB2019b, thank you for helping.
My pleasure.

Sign in to comment.

Categories

Tags

Community Treasure Hunt

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

Start Hunting!