Changing the name of the variables in table
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Shelender Kumar
el 2 de Nov. de 2018
Comentada: Peter Perkins
el 6 de Nov. de 2018
Let us say I have an output file (called combined) which is an array so To write to a file, first I convert it into the table but now I do not know how to change the name of the variables
T = array2table(combined);
Now the variables names are combined1, combined2 and so on but I want to give it my own names like 150K, 140K etc. Could you help me with this
Respuesta aceptada
Caglar
el 2 de Nov. de 2018
Editada: Caglar
el 2 de Nov. de 2018
You can do that on initialization,
a=table(1,2,3,'VariableNames',{'One','Two','Final'})
or after creation,
a.Properties.VariableNames={'Five','Six','Seven'}
Note that, sadly, Matlab does not let you define variable names before you put at least one row of data.
b=table('VariableNames',{'Test'})
Error using table (line 307)
The VariableNames property must contain one name for each variable in the table.
4 comentarios
Caglar
el 2 de Nov. de 2018
You can use it like _146k or k146. If you really need to keep the original variable name, you can save them in descriptions of the table.
a.Properties.VariableDescriptions={'146k','145k'}
They wont show up on variable but you can load them back whenever you need again.
Peter Perkins
el 6 de Nov. de 2018
Shelender, array2table allows you to provide var names if you don't want the defaults. See the doc.
Caglar, the reason why
table('VariableNames',{'Test'})
errors is because you are providing a name but no variable. You can't name something that isn't there, and there's a difference between "has no rows" and "isn't there at all". If you want a table with no rows, one variable, and a specific name, do something like this
table(zeros(0,1),'VariableNames',{'Test'})
or in recent versions (R2018a and later, IIRC), this
table('Size',[0,1],'VariableTypes',{'double'}, ,'VariableNames',{'Test'})
Más respuestas (1)
awezmm
el 2 de Nov. de 2018
Editada: awezmm
el 2 de Nov. de 2018
I think you can do something like: T.Properties.VariableNames = {'newname1' 'newname2'}
2 comentarios
awezmm
el 2 de Nov. de 2018
The issue is that you cant start variable names with numbers. You can have to some sort of string at the beginning. Maybe you can do 'Resolution_146k' or give some other title so it describes it well
Ver también
Categorías
Más información sobre Tables en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!