comparison between a string/or cell and categorical data

조회 수: 4 (최근 30일)
Luca Re
Luca Re 2023년 6월 4일
편집: Luca Re 2023년 6월 4일
hi,i ve this problem
Trading=categorical({'As is';'bla'})
B='As is';
class(B)='char'
b==Trading(1)
> 0
how can i compare a value of type char and a categorical data type?
(

답변 (2개)

Steven Lord
Steven Lord 2023년 6월 4일
MATLAB is correct.
Sis(1).Trading = 'As Is'
Sis = struct with fields:
Trading: 'As Is'
Trading(1) = categorical({'As is'})
Trading = categorical
As is
Sis(1).Trading==Trading(1)
ans = logical
0
If you used a capital I in the definiition of Trading or a lower-case i in the definition of Sis(1).Trading you'd receive the results you expected.
SisLC.Trading = 'As is';
SisLC.Trading == Trading(1)
ans = logical
1
TradingUC = categorical({'As Is'});
Sis(1).Trading == TradingUC
ans = logical
1
  댓글 수: 1
Luca Re
Luca Re 2023년 6월 4일
편집: Luca Re 2023년 6월 4일
I realized now that it'is "Is" and not "is" .. sorry

댓글을 달려면 로그인하십시오.


the cyclist
the cyclist 2023년 6월 4일
Your method works for me:
Trading = categorical({'As is';'bla'});
B='As is';
B == Trading(1)
ans = logical
1
You did have a lower-case "b" in your code. MATLAB is case-sensitive. Maybe that was part of the problem?
  댓글 수: 5
the cyclist
the cyclist 2023년 6월 4일
We don't need another example. Please upload your data. You can use the paper clip icon in the INSERT section of the toolbar.
As I said above, I can define the variables myself and get your example to work. The key to understanding your problem is to use the data you are actually working with.
Trading(1) = categorical({'As Is'});
v = 'As Is';
Trading(1) == v
ans = logical
1
Luca Re
Luca Re 2023년 6월 4일
>> test
ans =
categorical
As is
ans =
logical
0

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Transaction Cost Analysis에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by