Delete rows with "-" in categorial colum

9 views (last 30 days)
Max1234
Max1234 on 5 Jan 2023
Commented: Voss on 6 Jan 2023
Hey guys,
I have two questions, maybe someone can help me. Thanks in advance.
I have a table with four columns: String, String, Datum, Categorial. I would like to remove all rows where there is a "-" in the categorial column.
There are only three words in the column: "Autumn", "Summer" and "Winter". I would like to display how many cells are filled with each word.

Accepted Answer

Voss
Voss on 5 Jan 2023
Edited: Voss on 5 Jan 2023
t = table(["some";"strings";"in";"this";"column"],categorical(["Autumn";"Summer";"Winter";"-";"Winter"]))
t = 5×2 table
Var1 Var2 _________ ______ "some" Autumn "strings" Summer "in" Winter "this" - "column" Winter
idx = t{:,end} == "-";
t(idx,:) = []
t = 4×2 table
Var1 Var2 _________ ______ "some" Autumn "strings" Summer "in" Winter "column" Winter
counts = groupsummary(t,'Var2')
counts = 3×2 table
Var2 GroupCount ______ __________ Autumn 1 Summer 1 Winter 2
  2 Comments
Siddharth Bhutiya
Siddharth Bhutiya on 6 Jan 2023
Using dot indexing would be faster since you dont really need the brace there.
t(t.Var2 == "-",:) = [];
Voss
Voss on 6 Jan 2023
Thanks! I used brace indexing in that case so that the OP could run the code without having to know they need to change the Var2 variable name to whatever their table's categorical variable name is.

Sign in to comment.

More Answers (0)

Categories

Find more on Tables in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!