For loop for checking through categorical

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!

 Respuesta aceptada

Cris LaPierre
Cris LaPierre el 16 de Feb. de 2022
Editada: Cris LaPierre el 16 de Feb. de 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 comentario

Kacper Witasinski
Kacper Witasinski el 16 de Feb. de 2022
such a simple solution and somehow I could not find it... Thanks Cris.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Characters and Strings en Centro de ayuda y File Exchange.

Productos

Versión

R2021b

Etiquetas

Preguntada:

el 16 de Feb. de 2022

Editada:

el 16 de Feb. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by