Delete rows with "-" in categorial colum

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

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

Using dot indexing would be faster since you dont really need the brace there.
t(t.Var2 == "-",:) = [];
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

Asked:

on 5 Jan 2023

Commented:

on 6 Jan 2023

Community Treasure Hunt

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

Start Hunting!