| Title: | Continuous Epidemiological Week Indexing for Time-Series Analysis |
| Version: | 0.1.2 |
| Description: | Provides a simple algorithm to generate a continuous epidemiological week index from date variables in a dataframe. Weeks are computed as sequential 7-day intervals starting from the earliest observed date. They do not reset at calendar year boundaries and are not ISO 8601 nor MMWR calendar weeks. The approach is intended for epidemiological modeling and time-series analysis where temporal continuity is required. The generated weeks are sequential and do not reset at calendar year boundaries. |
| License: | MIT + file LICENSE |
| Encoding: | UTF-8 |
| Imports: | lubridate |
| RoxygenNote: | 7.3.3 |
| Suggests: | testthat (≥ 3.0.0) |
| Config/testthat/edition: | 3 |
| NeedsCompilation: | no |
| Packaged: | 2026-02-18 15:21:51 UTC; Daniel_Degina_MY |
| Author: | Daniel Degina [aut, cre], Joel Mbuyi [ctb] |
| Maintainer: | Daniel Degina <deginadan@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-02-19 11:00:02 UTC |
Generate Continuous Epidemiological Week Index for a Date Column
Description
This function adds a continuous epidemiological week index to a data frame by assigning each date to a sequential week number starting from a reference date.
Usage
cepiweek(data, col_date, start = NULL, format = "dmy")
Arguments
data |
A data frame containing the date column. |
col_date |
Name of the date column (string). |
start |
Optional start date for counting weeks (Date or string).
Defaults to the minimum date in the column |
format |
Optional date format flag. Use |
Details
The generated weeks are continuous and do not reset at calendar year boundaries. They are not ISO 8601 or MMWR weeks. This function is intended for epidemiological modeling, time-series analysis, and nowcasting applications.
You can specify a start date for counting weeks; if none is provided, the minimum
date in the column is used. The function also allows specifying the format of the
dates to handle different conventions (day-month-year vs month-day-year).
The function automatically replaces
/with-for consistency.If any dates cannot be converted, the function stops with an error.
A warning is issued if the
startdate is after the earliest date in the column.Continuous weeks are aligned to Mondays.
Value
A data frame with an added cepiweek column containing continuous week indices.
See Also
Examples
# Standard dmy/ymd dates
k <- data.frame(
num = c(1, 2, 3),
date = c("15-01-2024", "12/02/2025", "2026-08-01")
)
cepiweek(k, col_date = "date")
# American format mm-dd-yyyy
k2 <- data.frame(
num = c(1, 2, 3),
date = c("01/15/2024", "02-12-2025", "08/01/2026")
)
cepiweek(k2, col_date = "date", format = "mdy")