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

30 次查看(过去 30 天)
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 CenterFile Exchange 中查找有关 Categorical Arrays 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by