assign categorical value for weekday variables

2 visualizaciones (últimos 30 días)
Sehoon Chang
Sehoon Chang el 25 de Sept. de 2020
Comentada: Sehoon Chang el 25 de Sept. de 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.

Respuesta aceptada

Steven Lord
Steven Lord el 25 de Sept. de 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)
else
fprintf("%s is a weekday.\n", D);
end
end
If you wanted to get a categorical array, consider calling categorical on the output of day with the 'dayofweek' input.
  2 comentarios
Sehoon Chang
Sehoon Chang el 25 de Sept. de 2020
Hi,
thanks for the reply.
weekend = isweekend(timetable.Properties.RowTimes)
As you have suggested, the above stated code would show me the days when the timestamps are weekends by 1, and the weekdays with 0.
How may i reverse the outcome, sothat i get 0 for weekends and 1 work weekdays?
Sehoon Chang
Sehoon Chang el 25 de Sept. de 2020
ah.... solved thank you.
'~isweekend'

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Dates and Time en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by