# Turning categories into double

1 view (last 30 days)
Nona on 3 Nov 2021
Commented: Nona on 3 Nov 2021
Hi,
I have a table with categorical type variables. The categories are all numeric though and I would like to turn them into such to be able to perform calculations on them. When I use the function "double", it does turn the categories into numeric values but changes the name of the category and instead numbers the categories consecutively (1,2,3,4,5 etc.). Is it possible to turn the category names into numeric type?
The type is category because it is a questionnaire for which the answers were written in different ways. So to not loose any data during the import, I imported everything as categories, cleaned the data and now want to use them as numbers again.
Any help is appreciated! :)

Scott MacKenzie on 3 Nov 2021
Let's assume T.Var1 is a categorical column in your table, as you describe it. To convert this to a column of double values, retaining their values, use
T.Var1 = str2double(string(T.Var1));
Nona on 3 Nov 2021
Thanks!

Chunru on 3 Nov 2021
x = categorical([1 1 2 4 4 7 7])
x = 1×7 categorical array
1 1 2 4 4 7 7
double(x)
ans = 1×7
1 1 2 3 3 4 4
double(string(x))
ans = 1×7
1 1 2 4 4 7 7

R2021a

### Community Treasure Hunt

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

Start Hunting!