Error ~= Invalid types for comparison

Hi,
I tried to run this code:
D2sub1.RETsm(D2sub1.ID ~= lagmatrix(D2sub1.ID, 1)) = NaN;
and get the error
Error using ~= (line 30)
Invalid types for comparison.
ID is a categorical column.
Is it not possible to compare categorical variables like this?
Thanks,

4 Comments

One can certainly use the ~= operator on categorical variables:
C = categorical([1 2 3]);
D = categorical({'a','b','3'});
C ~= D
ans = 1×3 logical array
1 1 0
Perhaps you could upload your data in a MAT file, so that we can see what is happening in your case?
Luca
Luca on 17 Apr 2021
Edited: Luca on 17 Apr 2021
Thank you very much for your fast response. I uploaded a subset and also modified the code according to the new names.
You mention, that ID is a categrical variable, but what is "lagmatrix"? Please post a small example of your inputs.
So it looks like this
ID lagmatrix(ID,1)
10000 NaN
10000 1
10000 1
.
.
.
10000 1
10001 1
10001 2
The lagmatrix command moves the original Matrix down by 1 row. So the switch happens one row later.
There where it is not equal I want that the retrurns are NaN.
I realised that it creates you a variable of type double.
I guess this is the problem.
Thank you very much for your help.

Sign in to comment.

Answers (0)

Products

Release

R2021a

Asked:

on 17 Apr 2021

Commented:

on 17 Apr 2021

Community Treasure Hunt

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

Start Hunting!