Change a variable name in a dataset array
11 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
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!