Borrar filtros
Borrar filtros

Conversion of Categorical to double

33 visualizaciones (últimos 30 días)
Lui
Lui el 1 de Mayo de 2019
Editada: Lui el 1 de Mayo de 2019
Hello everyone'
I have a table with values created with a categorization that I do not know. I would like to convert these into double array for normal manipulation. However, the following code gives me a categorical array that cannot be manaipulated easily by normal operations.
y=table2array(Data(:,1));
Converting it into a double, it yield values that are not the same as what is contained in the table.
y1=grp2idx(y);
Can someone please explain what the vector y1 represents and how I can use that to get the double array that is not categorical.
thanks.

Respuesta aceptada

dpb
dpb el 1 de Mayo de 2019
Editada: dpb el 1 de Mayo de 2019
y1 is a grouping variable of which bin each refers to; it will be in the range of 1:N where N is number of unique categories in the categorical variable (not all of which may be present in a subset of the original).
Just
v=double(Data(:,1));
will reproduce the underlying values of the categorical array.
But, what do you want to do with a categorical array that you can't seem to do as its existing type? One would presume it was created as categorical for a reason.
  2 comentarios
Lui
Lui el 1 de Mayo de 2019
I have attached a table below. The table created as categorical. I need to create an array that can be multiplied or divided etc.
Data_1=table2array(Data(:,1)); % this gives me the catrogorical array
% this array cannot be multilied by a factor as a double array
v=double(Data_1(:,1)); % this gives me the unique categories
How do I retrieve a double array from the table which has categories so that I can have the same values as what is in the table but not categorical.
OR
How do I carry out a simple arithmetic operation like multiplcation on the categorical array? And can it be converted to a double array.
dpb
dpb el 1 de Mayo de 2019
How was that .mat file created to turn Column7 variable into categorical? I'd suggest going back to that step and fix your problem there--it does appear that those should have been doubles all along.

Iniciar sesión para comentar.

Más respuestas (1)

dpb
dpb el 1 de Mayo de 2019
To answer the question posed,
Data.Column7=double(Data.Column7);
but see the comment above -- the better solution would be to fix the problem at the point it was created instead of cleaning up a mess later.
  1 comentario
Lui
Lui el 1 de Mayo de 2019
Editada: Lui el 1 de Mayo de 2019
Thank you for the guidance. I have resolved it from the initial file. I did convert the excel file to string while importing it to matlab. Then I cahnged the file into a double.This excluded the categorical part. I appreciate.

Iniciar sesión para comentar.

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Productos


Versión

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by