How to convert categorical array contains 'yes' or 'no' to logical array?

29 visualizaciones (últimos 30 días)
Hi, I have a table consist of categorical array which is just contains 'yes' and 'no', ex:
a = [yes yes no no yes no]
I want to convert it to a logical array translating yes to 1 and no to 0. ex:
b = [1 1 0 0 1 0]
Could you show me the way to do it? Thanks!
  2 comentarios
Jan
Jan el 16 de Abr. de 2018
What is the type of your variable "a"? a = [yes yes no] is not valid Matlab code. Please post some code, which creates your input data. This is better than a rough description by words.
Bayu Ardiyanto
Bayu Ardiyanto el 16 de Abr. de 2018
Hi sorry if it's not clear. However I think I've got it with answer from KSSV, many thanks! :)

Iniciar sesión para comentar.

Respuesta aceptada

Steven Lord
Steven Lord el 16 de Abr. de 2018

As stated in the documentation you can use the == operator to select elements in a categorical array that are in a particular category.

>> A = categorical({'yes','yes','no','no','yes','no'}) 
A = 
  1×6 categorical array
     yes      yes      no      no      yes      no 
>> A == 'yes'
ans =
  1×6 logical array
   1   1   0   0   1   0

Más respuestas (1)

KSSV
KSSV el 16 de Abr. de 2018
a = {'yes' 'yes' 'no' 'no' 'yes' 'no'} ;
b = strcmp(a,'yes')

Categorías

Más información sobre Categorical Arrays en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by