# Organising Dates based on User ID and compute weekly average

2 visualizzazioni (ultimi 30 giorni)
Ganesh Naik il 23 Nov 2021
Commentato: Peter Perkins il 29 Nov 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 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti
Peter Perkins il 23 Nov 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?

Accedi per commentare.

### Risposte (1)

Peter Perkins il 23 Nov 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 CommentiMostra 2 commenti meno recentiNascondi 2 commenti meno recenti
Ganesh Naik il 29 Nov 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 il 29 Nov 2021
Ganesh, that's not much to go on. Post what you have done so far.

Accedi per commentare.

### Categorie

Scopri di più su Time Series Objects in Help Center e File Exchange

R2021b

### Community Treasure Hunt

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

Start Hunting!

Translated by