Dummy Variable ased on categorical vars in table
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuestas (3)
Jeff Miller
el 3 de Nov. de 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 comentarios
Peter Perkins
el 6 de Nov. de 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 comentarios
Ver también
Categorías
Más información sobre Categorical Arrays en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!