splitvars for input arguments of type 'cell'
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Deepa Maheshvare
am 24 Nov. 2019
Kommentiert: Deepa Maheshvare
am 24 Nov. 2019
The following contents are stored in a table, in variable 'tbl',
Multico value
______________
{'1'} {'2'} 1
{'2'} {'3'} 2
{'3'} {'4'} 1
{'4'} {'5'} 2
I am trying to split the contents in `Multico`
multico = splitvars(cell2mat(tbl.Multico));
The following error is obtained. Any suggestions on how to split the contents?
Undefined function 'splitvars' for input arguments of type 'cell'.
Expected result:
Multico_1 Multico_2 value
1 2 1
2 3 2
3 4 1
4 5 2
2 Kommentare
Walter Roberson
am 24 Nov. 2019
cell2mat() of that variable would give a 4 x 2 char array. splitvars() has to be run on a table and a variable name, not on a char array.
It is not obvious what you would want the result to be.
Akzeptierte Antwort
Guillaume
am 24 Nov. 2019
As per my comment to your other question, it looks like Multico should be a matrix not a cell array.
Regardless of its type, what you want is simply:
newtable = splitvars(yourtable, 'Multico')
3 Kommentare
Guillaume
am 24 Nov. 2019
Hum, splitvars works fine regardless of whether Multico is a cell array or a matrix:
>> t = table({'1', '2'; '2', '3'; '3', '4'; '4', '5'}, [1; 2; 1; 2], 'VariableNames', {'Multico', 'value'})
t =
4×2 table
Multico value
______________ _____
{'1'} {'2'} 1
{'2'} {'3'} 2
{'3'} {'4'} 1
{'4'} {'5'} 2
>> splitvars(t, 'Multico')
ans =
4×3 table
Multico_1 Multico_2 value
_________ _________ _____
{'1'} {'2'} 1
{'2'} {'3'} 2
{'3'} {'4'} 1
{'4'} {'5'} 2
>>
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Tables finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!