How to extract rows from a table based on the categories present in one of the columns?

16 vues (au cours des 30 derniers jours)
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 commentaires
Ildefonso Vicente Suarez
Ildefonso Vicente Suarez le 20 Juin 2020
Please find attached to this comment the table I was talking about . Thanks a lot for your help!

Connectez-vous pour commenter.

Réponse acceptée

Esperanza Linares Guerrero
Esperanza Linares Guerrero le 22 Juin 2020
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,:)

Plus de réponses (1)

KSSV
KSSV le 19 Juin 2020
Modifié(e) : KSSV le 19 Juin 2020
b=Plate(strcmp(Plate.Invivo,'Drug'),:);
  1 commentaire
Ildefonso Vicente Suarez
Ildefonso Vicente Suarez le 20 Juin 2020
Thanks a lot for answering my question. When I used your line of code the answer is a table with 0 rows.
I am attaching the table to this comment.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by