You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.2 KiB
45 lines
1.2 KiB
9 years ago
|
|
||
|
#' 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 season 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=paste0(years, collapse=","))
|
||
|
|
||
|
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)
|
||
|
|
||
|
}
|