R/nhs_browse.R

Defines functions nhs_browse

Documented in nhs_browse

#' Browse "NHANES" webpage
#'
#' @param years one or more years
#' @param items one or more items
#' @param open whether to open in browser
#' @return browse webpage
#' @export
#'
nhs_browse <- function(years,items,open=TRUE){
    if (do::cnOS()){
        misys <- tmcn::toUTF8("\u6307\u5B9Aitems\u7684\u65F6\u5019,\u5FC5\u987B\u6307\u5B9Ayears")
        itemswrong <- tmcn::toUTF8("items\u6307\u5B9A\u4E0D\u5BF9,\u5FC5\u987B\u8981\u662F\u4E0B\u5217\u503C: ")
    }else{
        misys <- 'years must be given when items is specified.'
        itemswrong <- 'items is wrong, which should be as follows: '
    }
    if (missing(years) & missing(items)){
        if (open) browseURL('https://wwwn.cdc.gov/nchs/nhanes/')
        if (!open) 'https://wwwn.cdc.gov/nchs/nhanes/'
    }else if (!missing(years) & missing(items)){
        years <- prepare_years(years) |>
            do::Replace0('-.*')
        urls <- c()
        for (i in years) {
            urls <- c(urls,sprintf('https://wwwn.cdc.gov/nchs/nhanes/continuousnhanes/default.aspx?BeginYear=%s',i))
        }
        if (open) for (i in urls) browseURL(i)
        if (!open) urls
    }else if (!missing(years) & !missing(items)){
        years <- prepare_years(years) |>
            do::Replace0('-.*')
        items <- prepare_items(items)
        if (length(items)==0) stop(itemswrong, paste0(get_config_items(),collapse = ', '))
        urls <- c()
        for (i in years) {
            for (j in items) {
                urls <- c(urls,sprintf('https://wwwn.cdc.gov/nchs/nhanes/search/datapage.aspx?Component=%s&CycleBeginYear=%s',j,i))
            }
        }
        if (open) for (i in urls) browseURL(i)
        if (!open) urls
    }else if (missing(years) & !missing(items)){
        years <- prepare_years(years) |>
            do::Replace0('-.*')
        items <- prepare_items(items)
        if (length(items)==0) stop(itemswrong, paste0(get_config_items(),collapse = ', '))
        urls <- c()
        for (i in years) {
            for (j in items) {
                urls <- c(urls,sprintf('https://wwwn.cdc.gov/nchs/nhanes/search/datapage.aspx?Component=%s&CycleBeginYear=%s',j,i))
            }
        }
        if (open) for (i in urls) browseURL(i)
        if (!open) urls
    }
}
yikeshu0611/nhanesR documentation built on Jan. 29, 2022, 6:08 a.m.