Change a variable name in a dataset array
10 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Peter Perkins
2011-10-14
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 个评论
更多回答(1 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!