Creating Dummy Variable without dummyvar

2 views (last 30 days)
JoV
JoV on 23 Apr 2022
Commented: JoV on 23 Apr 2022
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)

Accepted Answer

Matt J
Matt J on 23 Apr 2022
Edited: Matt J on 23 Apr 2022
function res = create_Dummies(x)
%create dummy variables for a given vector of values
res=x(:)==unique(x)';
end

More Answers (0)

Community Treasure Hunt

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

Start Hunting!