From e74c9cc9337a3022b27b7d071811df4f81274f24 Mon Sep 17 00:00:00 2001 From: Bob Rudis Date: Sun, 11 Jan 2015 10:54:50 -0500 Subject: [PATCH] v0.2 released --- DESCRIPTION | 4 +- NAMESPACE | 1 + R/cdcfluview.R | 45 ++++++++++++++++++++ README.Rmd | 26 +++++++++++- README.md | 46 ++++++++++++++++++++- .../figure-markdown_github/unnamed-chunk-6-1.png | Bin 0 -> 36417 bytes man/get_state_data.Rd | 25 +++++++++++ 7 files changed, 141 insertions(+), 6 deletions(-) create mode 100644 README_files/figure-markdown_github/unnamed-chunk-6-1.png create mode 100644 man/get_state_data.Rd diff --git a/DESCRIPTION b/DESCRIPTION index df397e9..9f15f8b 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,8 +1,8 @@ Package: cdcfluview Type: Package Title: cdcfluview is package that retrieves the data behind the CDC's FluView portal -Version: 0.1 -Date: 2015-01-10 +Version: 0.2 +Date: 2015-01-11 Author: Bob Rudis (@hrbrmstr) Maintainer: Bob Rudis Description: The CDC's FluView is a Flash portal and the only way to get flu season diff --git a/NAMESPACE b/NAMESPACE index eac7d32..b161c27 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -1,4 +1,5 @@ # Generated by roxygen2 (4.1.0): do not edit by hand export(get_flu_data) +export(get_state_data) import(httr) diff --git a/R/cdcfluview.R b/R/cdcfluview.R index e161692..d510d76 100644 --- a/R/cdcfluview.R +++ b/R/cdcfluview.R @@ -85,3 +85,48 @@ get_flu_data <- function(region="hhs", sub_region=1:10, } } + +#' Retrieves the state-level data from the CDC's FluView Portal +#' +#' Uses the data source from the CDC' State-levelFluView \url{http://gis.cdc.gov/grasp/fluview/main.html} +#' and provides state flu reporting data as a single data frame +#' +#' @param years a vector of years to retrieve data for (i.e. \code{2014} for CDC flu seasn 2014-2015) +#' @return A \code{data.frame} of state-level data for the specified seasons +#' @export +#' @examples \dontrun{ +#' get_state_dat(2014) +#' get_state_data(c(2013,2014)) +#' } +get_state_data <- function(years=2014) { + + if (any(years < 1997)) + stop("Error: years should be > 1997") + + years <- years - 1960 + + out_file <- tempfile(fileext=".zip") + + params <- list(EndMMWRID=0, + StartMMWRID=0, + QueryType=1, + DataMode="STATE", + SeasonsList=years) + + tmp <- POST("http://gis.cdc.gov/grasp/fluview/FluViewPhase1CustomDownload.ashx", + body=params, + write_disk(out_file)) + + stop_for_status(tmp) + + if (!(file.exists(out_file))) + stop("Error: cannot process downloaded data") + + out_dir <- tempdir() + + files <- unzip(out_file, exdir=out_dir, overwrite=TRUE) + + read.csv(files, header=TRUE, stringsAsFactors=FALSE) + +} + diff --git a/README.Rmd b/README.Rmd index 3022885..5d6b810 100644 --- a/README.Rmd +++ b/README.Rmd @@ -1,7 +1,7 @@ --- title: "README" author: "Bob Rudis" -date: January 10, 2015 +date: January 11, 2015 output: md_document: variant: markdown_github @@ -13,13 +13,15 @@ uses the same API the portal does to programmatically retrieve data. The following functions are implemented: -- `get_flu_data` : retrieve flu data +- `get_flu_data` : retrieve flu data (national, by various region/sub-region types) +- `get_state_data` : retrieve state-level flu data The following data sets are included: ### News - Version 0.1 released +- Version 0.2 releases : added state-level data retrieval ### Installation @@ -36,12 +38,16 @@ options(width=120) ```{r} library(cdcfluview) library(ggplot2) +library(dplyr) +library(statebins) # current verison packageVersion("cdcfluview") flu <- get_flu_data("hhs", sub_region=1:10, "ilinet", years=2014) +state_flu <- get_state_data() + dplyr::glimpse(flu) gg <- ggplot(flu, aes(x=WEEK, y=X..WEIGHTED.ILI, group=REGION)) @@ -54,6 +60,22 @@ gg <- gg + theme_bw() gg ``` +```{r} +gg_s <- state_flu %>% + filter(WEEKEND=="Jan-03-2015") %>% + select(state=STATENAME, value=ACTIVITY.LEVEL) %>% + filter(!(state %in% c("Puerto Rico", "New York City"))) %>% # need to add PR to statebins + mutate(value=as.numeric(gsub("Level ", "", value))) %>% + statebins(brewer_pal="RdPu", breaks=4, + labels=c("Minimal", "Low", "Moderate", "High"), + legend_position="bottom", legend_title="ILI Activity Level") + + ggtitle("CDC State FluView (2014-01-03)") +``` + +```{r echo=FALSE, fig.height=5, fig.width=7} +gg_s +``` + ### Test Results ```{r} diff --git a/README.md b/README.md index 72b98ab..0c2e4e3 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,15 @@ The CDC's FluView is a Flash portal and the only way to get flu season data is t The following functions are implemented: -- `get_flu_data` : retrieve flu data +- `get_flu_data` : retrieve flu data (national, by various region/sub-region types) +- `get_state_data` : retrieve state-level flu data The following data sets are included: ### News - Version 0.1 released +- Version 0.2 releases : added state-level data retrieval ### Installation @@ -26,7 +28,30 @@ library(cdcfluview) ``` r library(ggplot2) +library(dplyr) +``` + + ## + ## Attaching package: 'dplyr' + ## + ## The following object is masked from 'package:stats': + ## + ## filter + ## + ## The following objects are masked from 'package:base': + ## + ## intersect, setdiff, setequal, union + +``` r +library(statebins) +``` + + ## Loading required package: grid + ## Loading required package: scales + ## Loading required package: gridExtra + ## Loading required package: RColorBrewer +``` r # current verison packageVersion("cdcfluview") ``` @@ -36,9 +61,12 @@ packageVersion("cdcfluview") ``` r flu <- get_flu_data("hhs", sub_region=1:10, "ilinet", years=2014) +state_flu <- get_state_data() + dplyr::glimpse(flu) ``` + ## Observations: 140 ## Variables: ## $ REGION.TYPE (chr) "HHS Regions", "HHS Regions", "HHS Regions", "HHS Regions", "HHS Regions", "HHS Regions",... ## $ REGION (chr) "Region 1", "Region 2", "Region 3", "Region 4", "Region 5", "Region 6", "Region 7", "Regi... @@ -65,6 +93,20 @@ gg <- gg + theme_bw() ![](README_files/figure-markdown_github/unnamed-chunk-4-1.png) +``` r +gg_s <- state_flu %>% + filter(WEEKEND=="Jan-03-2015") %>% + select(state=STATENAME, value=ACTIVITY.LEVEL) %>% + filter(!(state %in% c("Puerto Rico", "New York City"))) %>% # need to add PR to statebins + mutate(value=as.numeric(gsub("Level ", "", value))) %>% + statebins(brewer_pal="RdPu", breaks=4, + labels=c("Minimal", "Low", "Moderate", "High"), + legend_position="bottom", legend_title="ILI Activity Level") + + ggtitle("CDC State FluView (2014-01-03)") +``` + +![](README_files/figure-markdown_github/unnamed-chunk-6-1.png) + ### Test Results ``` r @@ -74,7 +116,7 @@ library(testthat) date() ``` - ## [1] "Sat Jan 10 20:25:05 2015" + ## [1] "Sun Jan 11 10:53:36 2015" ``` r test_dir("tests/") diff --git a/README_files/figure-markdown_github/unnamed-chunk-6-1.png b/README_files/figure-markdown_github/unnamed-chunk-6-1.png new file mode 100644 index 0000000000000000000000000000000000000000..79a24a1adb2eb348b743ae1d9f2708cb0e3aa008 GIT binary patch literal 36417 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 literal 0 HcmV?d00001 diff --git a/man/get_state_data.Rd b/man/get_state_data.Rd new file mode 100644 index 0000000..f3859c0 --- /dev/null +++ b/man/get_state_data.Rd @@ -0,0 +1,25 @@ +% Generated by roxygen2 (4.1.0): do not edit by hand +% Please edit documentation in R/cdcfluview.R +\name{get_state_data} +\alias{get_state_data} +\title{Retrieves the state-level data from the CDC's FluView Portal} +\usage{ +get_state_data(years = 2014) +} +\arguments{ +\item{years}{a vector of years to retrieve data for (i.e. \code{2014} for CDC flu seasn 2014-2015)} +} +\value{ +A \code{data.frame} of state-level data for the specified seasons +} +\description{ +Uses the data source from the CDC' State-levelFluView \url{http://gis.cdc.gov/grasp/fluview/main.html} +and provides state flu reporting data as a single data frame +} +\examples{ +\dontrun{ +get_state_dat(2014) +get_state_data(c(2013,2014)) +} +} +