How do I add a column to table?

204 Ansichten (letzte 30 Tage)
m m
m m am 19 Nov. 2015
I have created a CSV file. When I use the "readable" function to load the table, I get an 8x10 table. I want to expand the table to an 8x11 table, where the 11th column should have the values from a function I have created. How do I do this?

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 15 Mai 2024
Bearbeitet: MathWorks Support Team am 5 Jun. 2024
You can add a new table variable by using either dot notation or the "addvars" function. Dot notation adds new variables to the end of table. If you use the "addvars" function, then you can choose the location of the new table variable. 
For example, this code creates a table and two column vectors. Then it adds the column vectors to the table as new variables.
LastName = ["Sanchez";"Johnson";"Li";"Diaz";"Brown"];
Age = [38;43;38;40;49];
Smoker = logical([1;0;1;0;1]);
T = table(LastName,Age,Smoker);
T.NewData = rand(5,1) % Dot notation adds new variable to end of table
MoreData = rand(5,1);
T = addvars(T,MoreData,'Before',1) % Add variable to beginning of table
If you generate a table variable name by evaluating an expression, you can pass it as the name of the new variable with either of these syntaxes. 
TodaysData = "Data " + string(datetime("today"));
T.(TodaysData) = rand(5,1)
YesterdaysData = "Data " + string(datetime("today") - 1);
T = addvars(T,rand(5,1),'NewVariableNames',YesterdaysData,'Before',1)
For more information, see the following documentation:
Add, Delete, and Rearrange Table Variables
https://www.mathworks.com/help/matlab/matlab_prog/add-and-delete-table-variables.html

Weitere Antworten (3)

Sean de Wolski
Sean de Wolski am 20 Nov. 2015
T.EleventhColumn = rand(8,1);
Where 'EleventhColumn' is the name you want for the variable.
  2 Kommentare
Theodore Wilkening
Theodore Wilkening am 13 Mär. 2020
this works best.
Yifei
Yifei am 26 Nov. 2022
The most convenient approach.

Melden Sie sich an, um zu kommentieren.


thang ngo
thang ngo am 24 Jul. 2020
This helps to pass a name as parameter:
name = 'new_column'
T.(name) = rand(8,1);

Ehab Abdelkarim
Ehab Abdelkarim am 3 Aug. 2018
you may want to check the following link https://de.mathworks.com/help/matlab/matlab_prog/add-and-delete-table-variables.html

Kategorien

Mehr zu Tables finden Sie in Help Center und File Exchange

Produkte


Version

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by