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

29 ビュー (過去 30 日間)
Bayu Ardiyanto
Bayu Ardiyanto 2018 年 4 月 16 日
コメント済み: Bayu Ardiyanto 2018 年 4 月 16 日
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 件のコメント
Jan
Jan 2018 年 4 月 16 日
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 2018 年 4 月 16 日
Hi sorry if it's not clear. However I think I've got it with answer from KSSV, many thanks! :)

サインインしてコメントする。

採用された回答

Steven Lord
Steven Lord 2018 年 4 月 16 日

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

その他の回答 (1 件)

KSSV
KSSV 2018 年 4 月 16 日
a = {'yes' 'yes' 'no' 'no' 'yes' 'no'} ;
b = strcmp(a,'yes')

カテゴリ

Help Center および File ExchangeCategorical Arrays についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by