How to extract rows from a table based on the categories present in one of the columns?
18 ビュー (過去 30 日間)
古いコメントを表示
Ildefonso Vicente Suarez
2020 年 6 月 19 日
コメント済み: Esperanza Linares Guerrero
2020 年 6 月 22 日
I have created a table that has double and categorical columns.How can I extract the rows that correspond to each one of the categories?
Being more specific, the table is called 'Plate' and one of the columns 'Invivo'.
If I write
categories(Plate.Invivo);
The answer gives me three categories
'Drug'
'Positive control'
'mock'
If I write
b=Plate(Plate.Invivo=='Drug',:);
The answer is a table with 0 rows and the same number of columns as the original table. Why it can not find the rows that correspond with the categorie 'Drug'?
Thanks a lot for your help
2 件のコメント
採用された回答
Esperanza Linares Guerrero
2020 年 6 月 22 日
The reason why you are getting an empty array, is because your category is not Drugs, it is 'Drugs' (between quotes). You can remove the quotes from the table and the command would work, or, you can define a variable that contains the quotes:
a=Plate.Invivo(end);%%% Checking your table, the last row has the 'Drugs' category
b=Plate.Invivo(Plate.Invivo==a,:)
2 件のコメント
Esperanza Linares Guerrero
2020 年 6 月 22 日
Alternatively use:
b=Plate.Invivo(Plate.Invivo=='''Drug''',:)
参考
カテゴリ
Help Center および File Exchange で Resizing and Reshaping Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!