Rename dataset variable

I am trying to rename a field in a dataset, but I get an error:
>> someDS.Properties.VarNames{3} = 'NEWNAME';
??? Error using ==> dataset.subsasgn at 418
Duplicate variable names.
No, there is no other variable with the same name I'm trying to assign!
What am I doing wrong?
Thanks

3 Comments

Mark, I'm guessing you know this, but just in case, that error message is referring to a "dataset variable" with that name, not to a "workspace variable".
If that's not the source of confusion, then something funny is going on, and I can't reproduce it. What is returned from someDS.Properties and from someDS.Properties.VarNames?
Mark
Mark on 23 Feb 2012
What I can tell you is that "someDS" was created using the "join" function. The resulting dataset had no duplicate variable names. In fact, you can use any (valid) name you can think of on the right-hand side and you will get the same error.
I was able to fix the problem using a different approach, though. Before using "join" I assign names to the VariableNames of each of the dataset variables that I am joining (using the exact syntax above!!). The joined dataset has the VariableNames I want.
Regarding your question: "What is returned ... from someDS.Properties.VarNames". A cell array of strings containing the variable names in the dataset
I cannot reproduce the problem. Please post the complete code with a minimal working example which causes the error. Also, post the MATLAB version and OS.

Sign in to comment.

Answers (0)

Asked:

on 22 Feb 2012

Edited:

on 21 Oct 2013

Community Treasure Hunt

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

Start Hunting!