array2table won't accept variable name input
11 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I am attempting to turn an array into a table before I output it into a file, and I am running into an error when I attempt to try and put variable names into my table.
data = randi(100,10,5);
headers = {'T','1','2','3','4'};
tabl = array2table(data,'VariableNames',headers);
Error using array2table (line 62)
'1' is not a valid variable name.
Error in TestCode (line 3)
tabl = array2table(data,'VariableNames',headers);
I don't understand why '1' is not a valid variable name. Can I not use numbers, even when they're a string? I have confirmed the class is 'char' for the actual contents of the headers cell, but it still doesn't seem to like it.
0 Commenti
Risposta accettata
Jan
il 24 Mar 2021
Which Matlab version are you using? In the current version 2021a I find:
doc table
% Variable names can have any Unicode® characters,
% including spaces and non-ASCII characters.
Your code run without problems.
In former Matlab versions the variables of tables needed to be valid Matlab symbols: < 64 characters, ASCII, no spaces, initial character cannot be an underscore or digit.
Più risposte (1)
Sean de Wolski
il 24 Mar 2021
Modificato: Sean de Wolski
il 24 Mar 2021
Support for invalid variable names was added recently so you're probably on an older release that required >>isvarname(varname) to be true.
You can
- upgrade
- call: matlab.lang.makeValidName to turn your names valie
- Change the names to valid yourself "One", "Two" would be valid...
Vedere anche
Categorie
Scopri di più su Numeric Types in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!