For loop for checking through categorical

14 Ansichten (letzte 30 Tage)
Kacper Witasinski
Kacper Witasinski am 16 Feb. 2022
Bearbeitet: Cris LaPierre am 16 Feb. 2022
MyTable = readtable("table.xlsx","TextType","string")
MyTable = convertvars(MyTable, ["Var 1" "Var 2"], "categorical")
result = [win, draw, lose]
for j = 1:length(MyTable)
if MyTable(j) == "Manchester City"
result = [win,0,0]
MyTable.Result(j) = result;
elseif MyTable(j) == "Chelsea"
result = [0,draw,0]
MyTable.Result(j) = result;
else
result = [0,0,lose]
MyTable.Result(j) = result;
end
end
Hello, I would like to create a for loop that checks through the categorical array of strings and if a string is "Manchester City" or "Chelsea" I would like to store the following values: win, draw, lose (stored in a string vector "result") in the new column. I'm keeping reciving some error:
()-indexing must appear last in an index expression.
I would appreciate any help. Thanks!

Akzeptierte Antwort

Cris LaPierre
Cris LaPierre am 16 Feb. 2022
Bearbeitet: Cris LaPierre am 16 Feb. 2022
One observation is that your if statement conditional does not index a particular variable. Tell it which variable to look for "Manchester" in. If that data is in Var1, then your conditional should be
if MyTable.Var1(j) == "Manchester City"
elseif MyTable.Var1(j) == "Chelsea"
end
  1 Kommentar
Kacper Witasinski
Kacper Witasinski am 16 Feb. 2022
such a simple solution and somehow I could not find it... Thanks Cris.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by