Organising Dates based on User ID and compute weekly average

1 次查看(过去 30 天)
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 个评论
Peter Perkins
Peter Perkins 2021-11-23
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?

请先登录,再进行评论。

回答(1 个)

Peter Perkins
Peter Perkins 2021-11-23
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 个评论
Ganesh Naik
Ganesh Naik 2021-11-29
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Dates and Time 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by