filter cell array with strings

조회 수: 17 (최근 30일)
Qiana Curcuru
Qiana Curcuru 2021년 10월 28일
편집: Ive J 2021년 10월 28일
i have a cell array and want to create a chart by filtering values. basically i want to filter by cat1 and cat3.
For example, i want to pull out all rows where 'cat' is the value for cat1 and then pull out rows where '100' is the value for cat3 (i.e. row 1 and 6 in this case)
my cell array looks like:
{cat1} {cat2} {cat3}
{'cat'} {4} {100}
{'dog'} {4} {100}
{'bird'} {4} {100}
{'cat'} {5} {100}
{'dog'} {4} {200}
{'cat'} {5} {100}

채택된 답변

Ive J
Ive J 2021년 10월 28일
편집: Ive J 2021년 10월 28일
Try to work with tables, they're more versatile. Also check groupfilter for more advanced filtering schemes.
tab = array2table(string(yourCell))
cat1 cat2 cat3
______ ____ ____
"cat" 4 100
"dog" 4 100
"bird" 4 100
"cat" 5 100
"dog" 4 200
"cat" 5 100
idx = tab.cat1 == "cat" & tab.cat3 == 100;
newTab = tab(idx, :)
cat1 cat2 cat3
_____ ____ ____
"cat" 4 100
"cat" 5 100
"cat" 5 100

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Smoothing and Denoising에 대해 자세히 알아보기

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by