matlab dummyvar is creating extra binary variable

1 次查看(过去 30 天)
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
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 个)

类别

Help CenterFile Exchange 中查找有关 Analysis of Variance and Covariance 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by