Set unique elements to 0s and 1s matlab

1 vue (au cours des 30 derniers jours)
chiefjia
chiefjia le 10 Mai 2021
Dear MATLAB experts,
I'm working on a table which contains 3 variables, with only 2 unique elements per variable. I'm trying to rename the elements of the variables to 0s and 1s, setting one unique element to 0 and the other to 1. So far I have managed to set each column to dummy variables with the code below, but this is not what I'm looking for, since I just need one column per variable.
categorical_index = 1;
variables_table = table.Properties.VariableNames;
for i=1:width(le)
le.(variables_table{i}) = dummyvar(categorical(table.(categorical_index)));
categorical_index = categorical_index + 1;
end
I would really appreciate your help.
Thank you in advance

Réponse acceptée

the cyclist
the cyclist le 10 Mai 2021
Here is one way. I doubt it is the best.
% Original table with two variables
x = {'a','b','a','a','b'}.';
y = {'c','c','c','d','d'}.';
tbl = table(x,y)
tbl = 5×2 table
x y _____ _____ {'a'} {'c'} {'b'} {'c'} {'a'} {'c'} {'a'} {'d'} {'b'} {'d'}
% Convert to numeric array of unique values
tbl_01 = [findgroups(tbl.x)-1, findgroups(tbl.y)-1]
tbl_01 = 5×2
0 0 1 0 0 0 0 1 1 1

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by