Creating Dummy Variable without dummyvar

Hello everyone,
I am trying to create a month-level time dummy variable for a "double" variable called lnrent (I am unable to use the dummyvar command due to licensing issues)
I have therefore specified the following function:
function res = create_Dummies(x)
%create dummy variables for a given vector of values
levels = unique(x);
res = [];
for i=levels
res = [res, (x == i)'];
end
end
Where X would be the variable "lnrent" for which the dummy should be created.
However, I keep getting the following error-message when I call it:
Error in create_Dummies (line 10)
res = [res, (x == i)'];
saying that I should preallocate for speed.
How do I do this? I am an absolute beginner and very unsure. Any help would be appreciated!
(I apologise in advance for an community-conduct-errors)

 採用された回答

Matt J
Matt J 2022 年 4 月 23 日
編集済み: Matt J 2022 年 4 月 23 日

1 投票

function res = create_Dummies(x)
%create dummy variables for a given vector of values
res=x(:)==unique(x)';
end

1 件のコメント

JoV
JoV 2022 年 4 月 23 日
Thank you so much! That worked perfectly

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

質問済み:

JoV
2022 年 4 月 23 日

コメント済み:

JoV
2022 年 4 月 23 日

Community Treasure Hunt

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

Start Hunting!

Translated by