Create new variable when movevar can't find a variable in a table.

2 views (last 30 days)
John Doe
John Doe on 1 Jul 2019
Commented: John Doe on 1 Jul 2019
I am working on order processing data. I've imported all my data using readtable, done my processing and now need to order the data prior to export.
To do this I have used the below script. This works perfectly well.
t = movevars(t,varNames,'After','Column_1')
My challenge comes, if varNames contains a variable which is not in my data set, where I get an error.
I would like to compare varNames with the t.Properties.VariableNames and create new variables with NaNs or Zeros in t where there was not a variable in the table.
I can't come up with a sensible way to do this, my guess was using strcmp?

Accepted Answer

Steven Lord
Steven Lord on 1 Jul 2019
Use ismember to determine if the variables you want to move/add are present in the table. The output from ismember will be a logical mask telling you which variable names you pass into movevars and which into addvars.

More Answers (0)


Community Treasure Hunt

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

Start Hunting!