Find specific entry based on column value in table

Apologies if this has been asnwered somewhere but I was unable to find a simple answer to what I strongly suspect is a really simple operation in MATLAB. I have a simple table (see attached), and I want to extract the number that corresponds to the name 'Bob'. (so in this case, 2). How would I extract this? Essentially I am looking for the row index of a table where the column value is something specific.
Thanks,

 Respuesta aceptada

Cris LaPierre
Cris LaPierre el 30 de Abr. de 2021
I'd create a logical array of the name column, and use that to extract the number from the first column. You can learn about logical arrays in Ch 12 of MATLAB Onramp. This page on accessing data in a table is likely also helpful.
The code might be something like this
n = data.Number(data.Name=='Bob')

4 comentarios

NFC
NFC el 30 de Abr. de 2021
Editada: NFC el 30 de Abr. de 2021
Thanks for the response, I have tried this already but I kept getting the error that "operator == is not supported for operants of type 'cell'"
Maybe this is because of the way that I specified the variables? Every entry in 'name' was specified as a cell (this is not something I can change as it is dependent on some external software.
Specifically, I am using a table extracted from a dicom file using the .ROIs method as shown in this example https://uk.mathworks.com/help/images/ref/dicomcontours.createmask.html
For this specific type of table where the entries of Name are cells,
data.Number(strcmp(data.Name, 'Bob'))
should do the trick
How are you loading your table? Consider using readtable.
NFC
NFC el 30 de Abr. de 2021
Editada: NFC el 30 de Abr. de 2021
I am actually not doing the loading myself, I'm reading it off a dicomfile as shown on the mathworks website
dicominfo(path)
and then accessing contours with
contours=dicomContours(info);
and finally loading the table with
ROIs=contours.ROIs;
I missed that detail. I think I like the strcmp approach better anyway.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Etiquetas

Preguntada:

NFC
el 30 de Abr. de 2021

Comentada:

el 30 de Abr. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by