How to convert one column of a table into numeric data type corresponding to the other column of the same table?

1 view (last 30 days)
Haider Ali
Haider Ali on 26 Aug 2021
Commented: Wan Ji on 26 Aug 2021
I have the table as shown below:
I need to calculate a multiple comparison test, which includes the means plots for each genre. When I try to apply its process, they say that the genre (string) and runtime (int) are of different types so cant be processed. I want to convert the genre column to numeric w.r.t the runtime column. E.g Action = 1, comedy = 2, Animation = 3 and Biography = 4. Can someone please guide me how to do this? I am stuck at here. Thanks alot in advance,

Accepted Answer

Wan Ji
Wan Ji on 26 Aug 2021
Edited: Wan Ji on 26 Aug 2021
If you have a table T with field names genre and runtime, then
genre = {'ab','a','a','o','abo'}';
runtime = [11,12,13,14,45]';
T = table(genre, runtime);
[Q,ia,ic] = unique(T{:,'genre'});
Q = categorical(Q); % this is the categorical of genre
genre = ic;
T(:,'genre') = [];
T{:,'genre'} = ic;

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!