From 601179e94956235f0faa3ba62d62a3a39b40f445 Mon Sep 17 00:00:00 2001 From: boB Rudis Date: Mon, 6 Nov 2017 08:30:02 -0500 Subject: [PATCH] mmwr tweaks --- NAMESPACE | 1 + R/aaa.R | 25 ------------------------- R/mmwr-map.r | 31 +++++++++++++++++++++++++++++++ man/mmwrid_map.Rd | 5 +++++ 4 files changed, 37 insertions(+), 25 deletions(-) create mode 100644 R/mmwr-map.r create mode 100644 man/mmwrid_map.Rd diff --git a/NAMESPACE b/NAMESPACE index 7611c2f..d7846b6 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -6,6 +6,7 @@ export(geographic_spread) export(hospitalizations) export(ili_weekly_activity_indicators) export(ilinet) +export(mmwrid_map) export(pi_mortality) export(state_data_providers) export(surveillance_areas) diff --git a/R/aaa.R b/R/aaa.R index 30d21fe..4b1ba32 100644 --- a/R/aaa.R +++ b/R/aaa.R @@ -1,15 +1,3 @@ -# THIS IS NOT EXPORTED FROM MMWRweek but I need it -# Find start date for a calendar year -# -# Finds the state date given a numeric calendar year -# @author Jarad Niemi \email{niemi@@iastate.edu} -.start_date = function(year) { - # Finds start state for this calendar year - jan1 = as.Date(paste(year, '-01-01', sep='')) - wday = as.numeric(MMWRweekday(jan1)) - jan1 - (wday-1) + 7*(wday>4) -} - # CDC U.S. region names to ID map .region_map <- c(national=3, hhs=1, census=2, state=5) @@ -40,16 +28,3 @@ "B (Yamagata Lineage)", "H3N2v") # Week Starts - -.tmp <- lapply(1962:2030, .start_date) - -mapply(function(.x, .y) { - data_frame( - wk_start = seq(.tmp[[.x]], .tmp[[.y]], "1 week"), - wk_num = 1:length(wk_start) - ) -> tmp - tmp[-nrow(tmp),] -}, 1:(length(.tmp)-1), 2:length(.tmp), SIMPLIFY=FALSE) -> .wk - -.wk <- Reduce(rbind.data.frame, .wk) -.wk$mmwrid <- 1:nrow(.wk) \ No newline at end of file diff --git a/R/mmwr-map.r b/R/mmwr-map.r new file mode 100644 index 0000000..77f8d01 --- /dev/null +++ b/R/mmwr-map.r @@ -0,0 +1,31 @@ +# THIS IS NOT EXPORTED FROM MMWRweek but I need it +# Find start date for a calendar year +# +# Finds the state date given a numeric calendar year +# @author Jarad Niemi \email{niemi@@iastate.edu} +.start_date = function(year) { + # Finds start state for this calendar year + jan1 = as.Date(paste(year, '-01-01', sep='')) + wday = as.numeric(MMWRweekday(jan1)) + jan1 - (wday-1) + 7*(wday>4) +} + +# I discovered why 1962!: https://www.cdc.gov/mmwr/preview/mmwrhtml/su6004a9.htm +.tmp <- lapply(1962:2050, .start_date) + +mapply(function(.x, .y) { + data_frame( + wk_start = seq(.tmp[[.x]], .tmp[[.y]], "1 week"), + wk_end = wk_start + 6, + year_wk_num = 1:length(wk_start) + ) -> tmp + tmp[-nrow(tmp),] +}, 1:(length(.tmp)-1), 2:length(.tmp), SIMPLIFY=FALSE) -> mmwrid_map + +mmwrid_map <- Reduce(rbind.data.frame, mmwrid_map) +mmwrid_map$mmwrid <- 1:nrow(mmwrid_map) + +#' @title MMWR ID to Calendar Mappings +#' @name mmwrid_map +#' @export +NULL diff --git a/man/mmwrid_map.Rd b/man/mmwrid_map.Rd new file mode 100644 index 0000000..48e7165 --- /dev/null +++ b/man/mmwrid_map.Rd @@ -0,0 +1,5 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/mmwr-map.r +\name{mmwrid_map} +\alias{mmwrid_map} +\title{MMWR ID to Calendar Mappings}