splitvars for input arguments of type 'cell'

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 comentarios

Walter Roberson
Walter Roberson el 24 de Nov. de 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.
Deepa Maheshvare
Deepa Maheshvare el 24 de Nov. de 2019
Editada: Deepa Maheshvare el 24 de Nov. de 2019
Many thanks for the reponse. Please have a look at the update made in the original post. Sorry if I wasn't clear. The contents are stored in a table. It is actually the output of the edge
properties of a graph (tbl = Graph.Edges).

Iniciar sesión para comentar.

 Respuesta aceptada

Guillaume
Guillaume el 24 de Nov. de 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 comentarios

Deepa Maheshvare
Deepa Maheshvare el 24 de Nov. de 2019
Thanks for the response. As you noticed splitvars doesn't work. Please have look at the update made for expected result in the original post.
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
>>
Deepa Maheshvare
Deepa Maheshvare el 24 de Nov. de 2019
Sorry, my mistake. I had tried splitvars(tbl.Multicol).

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Versión

R2019b

Etiquetas

Preguntada:

el 24 de Nov. de 2019

Comentada:

el 24 de Nov. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by