how to create a new variable based off an if else statement on one variable?

18 visualizzazioni (ultimi 30 giorni)
I have created a table in MATLAB, one of the variables is called animals. Within that coloum are "dogs", "cats", "sheep". I want to create code that states if table.animals == "dogs" then create a new variable called numbers and assign the number 1 to the rows that have dogs stated in it. If table.animals == "cats" then in that same new variable called numbers assign the number 2. and similar with sheep expect the number 3. How would I go about create this type of code?
This is something similar to what I have tried but it does not work.
if tables.animals == "Dogs"
tables.numbers = 1
elseif tables.animals == "cats"
tables.numbers = 2
else tables.numbers = 3
end
my code ends up usually create that new coloum but places the number 3 for all the rows.

Risposta accettata

Voss
Voss il 1 Dic 2022
t = table(["cats";"dogs";"cats";"sheep"],'VariableNames',"animals")
t = 4×1 table
animals _______ "cats" "dogs" "cats" "sheep"
all_animals = ["dogs" "cats" "sheep"];
[~,idx] = ismember(t.animals,all_animals);
t.numbers = idx
t = 4×2 table
animals numbers _______ _______ "cats" 2 "dogs" 1 "cats" 2 "sheep" 3
  4 Commenti

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Data Type Identification in Help Center e File Exchange

Prodotti


Release

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by