using the table format, how to filter on words

My table looks like this:
Place1 Place2 Place3 ...
A A C
B A A
C C B
C C A
A C A
I want to remove all rows not containing say 'B' and ending up with
Place1 Place2 Place3
B A A
C C B
strcmp(table.Place1,{'B'}) % works in one column
strcmp(table(:,{'Place1','Place2','Place3'}),{'B'}) % returns 0

답변 (1개)

ag
ag 2024년 11월 13일

0 개 추천

Hi Erik,
To filter the rows containing 'B', you can use logical indexing as described in the below steps:
  1. Use "ismember" function to check each element of the array to see if it matches 'B'.
  2. Use "any" function to check if there is at least one true value in each row of the logical array produced by ismember. This operation should be performed across the second dimension (i.e., columns), meaning it checks each row for any occurrence of true.
The below code snippet illustrates the above approach:
axis = 2 % coloumns
rowsWithB = any(ismember(table{:,:}, 'B'), axis);
For more details, please refer to the following MathWorks documentation:
Hope this helps!

카테고리

도움말 센터File Exchange에서 Characters and Strings에 대해 자세히 알아보기

질문:

2015년 2월 12일

답변:

ag
2024년 11월 13일

Community Treasure Hunt

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

Start Hunting!

Translated by