Organising Dates based on User ID and compute weekly average

1 visualización (últimos 30 días)
Ganesh Naik
Ganesh Naik el 23 de Nov. de 2021
Comentada: Peter Perkins el 29 de Nov. de 2021
Hi all, I would like to organise the dates for each user based on their ID. I would like to start the beginning date for "Day1" for each user and then count the dates accordingly. Once the dates are assigned to the single user then for the next user the starting date should be counted as "Day1 and so on.
For example if user ID: 1024 has the first date as '04-02-2020' it should be counted as day1 for him and if the next date is 07-02-2020', 4th day and so on. Once the count for the particular user is finished then the count should reset for the next user as Day1, Day5 etc.
In addition I also would like to compute weekly average based on days (for example 3 days in a week 3/7, 6 days in a week 6/7 etc).
Any help in this regard is highly appreciated. The sample data is available below:
  1 comentario
Peter Perkins
Peter Perkins el 23 de Nov. de 2021
Ganesh, very likey this is straight-forward using timetables and retime, but your descriptiopn is not clear. Please describe exactly what you expect to end up with, with a short example. Both things. Are you just looking for the number of days for each ID?

Iniciar sesión para comentar.

Respuestas (1)

Peter Perkins
Peter Perkins el 23 de Nov. de 2021
If it's just counting number of days for each ID, try this:
tt =
1686×1 timetable
Date ID
___________ _____
02-Jul-2020 87609
03-Jul-2020 87609
08-Jul-2020 87609
09-Jul-2020 87609
10-Jul-2020 87609
[snip]
>> counts = varfun(@length,tt,"GroupingVariables","ID","OutputFormat","table")
counts =
12×2 table
ID GroupCount
_____ __________
87595 148
87596 238
87598 228
87600 50
87601 254
87602 237
87603 201
87604 44
87605 89
87606 115
87607 32
87609 50
  4 comentarios
Ganesh Naik
Ganesh Naik el 29 de Nov. de 2021
Hi Peter thanks,
1) I am not able to pass two grouping variables in the call to varfun
2) My main goal is to compute the weekly average for each user where I want to exclude any days less than 4 days in a week.
Peter Perkins
Peter Perkins el 29 de Nov. de 2021
Ganesh, that's not much to go on. Post what you have done so far.

Iniciar sesión para comentar.

Categorías

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

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by