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

30 visualizzazioni (ultimi 30 giorni)
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 Commenti
Jan
Jan il 16 Apr 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 il 16 Apr 2018
Hi sorry if it's not clear. However I think I've got it with answer from KSSV, many thanks! :)

Accedi per commentare.

Risposta accettata

Steven Lord
Steven Lord il 16 Apr 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

Più risposte (1)

KSSV
KSSV il 16 Apr 2018
a = {'yes' 'yes' 'no' 'no' 'yes' 'no'} ;
b = strcmp(a,'yes')

Categorie

Scopri di più su Categorical Arrays in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by