matlab dummyvar is creating extra binary variable

Let's say I have a categorical variable with level {'1', '2', '3'}. Now in ideal case, there should be 2 binary variable - b0 and b1 and above categorical variable should be mapped as b0=0,b1=0 for '1', b0=1,b1=0 for '2' and b0=0,b1=1 for '3'.
However, Matlab dummyvar is creating b0,b1,b2 binary variables. How can I get only 2 binary variables and above representation?
cat ={'1','2','3'}'
cat1 = categorical(cat)
result = dummyvar(cat1)
result =
1 0 0
0 1 0
0 0 1

 채택된 답변

Jeff Miller
Jeff Miller 2019년 3월 16일

0 개 추천

I guess there is a typo in your question and you really want ''b0=1,b1=0 for '2'".
Notice that you get what (I think) you want if you just drop the first column created by dummyvar.
This explanation of dummy indicator variables may be helpful: look here

댓글 수: 1

MB
MB 2019년 3월 16일
Yes- thank you. I have corrected the typo and it seems to be matching with my requirement after dropping the first column.
I was just expecting 'dummyvar' to be equivalent to 'asfactor' in R but apparently it's not.

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Analysis of Variance and Covariance에 대해 자세히 알아보기

태그

질문:

MB
2019년 3월 15일

편집:

MB
2019년 3월 16일

Community Treasure Hunt

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

Start Hunting!

Translated by