Dummy Variable ased on categorical vars in table
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
hi everyone! I'm tying to create a dummy variable in a table based on two categorical variables. My table contains numerical and categorical variables. I now want to add an additional column with values either zero or one. I have a 27x7 table. My code goes as follows:
Data.DV = zeros(27,1)
for x = 1:27
if Data.BS== 'Total assets' & Data.Bank =='Bank X'
Data.DV =1;
else Data.DV =0;
end
end
However, when I try this I receive the error message 'To assign to or create a variable in a table, the number of rows must match the height of the table.' Could you help me explain how to generate this new dummy? Many thanks ahead! Lea
0 commentaires
Réponses (3)
Jeff Miller
le 3 Nov 2018
Since you are using a loop on x to go through the table one row at a time, you have to index the table variables BS, bank, and DV to select out one row at a time, like this:
Data.DV(x) = 1;
Another problem is that you can't compare strings with ==. Instead, you have to use strcmp().
0 commentaires
Peter Perkins
le 6 Nov 2018
Don't use a loop. It's completely unnecessary. And make BS and Bank categorical variables. Then all you need is
Data.DV = (Data.BS == 'Total assets') & (Data.Bank =='Bank X');
That's it.
0 commentaires
Voir également
Catégories
En savoir plus sur Tables 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!