assign categorical value for weekday variables

2 vues (au cours des 30 derniers jours)
Sehoon Chang
Sehoon Chang le 25 Sep 2020
Commenté : Sehoon Chang le 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.

Réponse acceptée

Steven Lord
Steven Lord le 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)
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 commentaires
Sehoon Chang
Sehoon Chang le 25 Sep 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 le 25 Sep 2020
ah.... solved thank you.
'~isweekend'

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Dates and Time dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by