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 col_date.

format

Optional date format flag. Use "mdy" if all dates are in month-day-year format (common in US). Defaults to "dmy"/"ymd" which handles day-month-year or year-month-day formats.

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).

Value

A data frame with an added cepiweek column containing continuous week indices.

See Also

GitHub page of the package.

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")