Change a variable name in a dataset array
6 views (last 30 days)
Show older comments
I would like to change the name of one of the variable names in a dataset array. I can do it like this
temp=get(DS);
vn=temp.VarNames;
vn{3}='new name';
set(DS,'VarNames',vn);
Is there an easier way to do this?
0 Comments
Accepted Answer
Peter Perkins
on 14 Oct 2011
There is an easier way:
DS.Properties.VarNames{3} = 'NewName';
DS.Properties holds the array's metadata: variable and observation names, variable units and descriptions, and a description for the array itself, among others. You can see all that by typing
DS.Properties
BTW, there are two problems with the code as you've written it:
1) 'new name' isn't a valid MATLAB identifier, and so not a valid dataset variable name, and 2) calling set without assigning to something has no effect -- dataset arrays are not handles. You'd need to do this:
DS = set(DS,'VarNames',vn);
which is somewhat non-intuitive, and so you're better off accessing the metadata directly through .Properties.
Hope this helps.
0 Comments
More Answers (1)
See Also
Categories
Find more on Numeric Types in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!