assign categorical value for weekday variables

8 views (last 30 days)
Sehoon Chang
Sehoon Chang on 25 Sep 2020
Commented: Sehoon Chang on 25 Sep 2020
Dear advisors,
how may i assign categorical value for weekday variables?
I have made a variable 'weekday' from the datetime record from a timetable, which gave me
1..sunday 2..monday 3.. tueday ........ 6..friday 7..saturday
weekday = weekday(timetable.Properties.RowTimes)
I wish to create 'workingday' using 'weekday'.
Within the variable 'workingday', the numbers 2,3,4,5,6 of 'weekday' shall be assigned the categorical value 1 (workingday). 1 and 7 shall be assigned the categorial value of 0 (non-working day).
thank you.

Accepted Answer

Steven Lord
Steven Lord on 25 Sep 2020
Since you have a timetable you can use the isweekend function to get true and false values (which you could convert to categorical or leave as logical) from the RowTimes property.
% Make some sample data
T = datetime('today');
thisWeek = T + days(0:6);
% Process each day
for whichDay = 1:numel(thisWeek)
D = thisWeek(whichDay);
if isweekend(D)
fprintf("%s is not a weekday.\n", D)
fprintf("%s is a weekday.\n", D);
If you wanted to get a categorical array, consider calling categorical on the output of day with the 'dayofweek' input.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!