how to find specific value in a table?

if i have hsl table like this, so how to find row that have value = 3 in column 1 (which is 'clusternya')?
i've tried to use
ind1= strfind(hsl.clusternya,'3')
but the error said like this:
Error using strfind
Cell must be a cell array of character vectors.

 Respuesta aceptada

KSSV
KSSV el 11 de Jun. de 2021
Editada: KSSV el 11 de Jun. de 2021
idx = hsl.clusternya==3 ; % logical indexing
T(idx,:)

7 comentarios

Fabyola
Fabyola el 11 de Jun. de 2021
Editada: Fabyola el 11 de Jun. de 2021
i've tried and it said
Undefined operator '==' for input arguments of type 'cell'.
Stephen23
Stephen23 el 11 de Jun. de 2021
Editada: Stephen23 el 11 de Jun. de 2021
@Fabyola: why is clusternya a cell array if it apparently only contains scalar numerics?
If its data are all scalar numeric, then you should fix the creation/importing of this data, so that any numeric data is stored in numeric arrays, not in cell arrays. Then your data processing (like this question) will be much easier.
Fabyola
Fabyola el 11 de Jun. de 2021
i used cell array for the enitre table because of the other columns contains a string, on those kelurahan's variable
Walter Roberson
Walter Roberson el 11 de Jun. de 2021
The whole point of table objects is that each variable can be a different datatype. The kelurahan variable is the only one that needs to be cell (or string() object, or categorical object)
Stephen23
Stephen23 el 11 de Jun. de 2021
@Fabyola: only kelurahan should be a string array or cell array of charactor vectors. All of the other data should be numeric vectors/arrays, otherwise you will make processing your numeric data very difficult.
Fabyola
Fabyola el 11 de Jun. de 2021
aah i see, okaay i'll try them. thanks for your advice, all.
piston_pim_offset
piston_pim_offset el 4 de Dic. de 2023
What if we have UITable in app designer @KSSV?

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 11 de Jun. de 2021
ind1 = find(hsl.clusterya == 3)
But you should probably be considering, for example
mask1 = hsl.clusterya == 3;
dist = sqrt(hsl.v1(mask1).^2 + hsl.v2(mask1).^2)
because using logical masks is generally faster than using find()

Categorías

Preguntada:

el 11 de Jun. de 2021

Comentada:

el 4 de Dic. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by