R/day-of-year_convs.R

Defines functions boof_doy_to_date boof_date_to_doy

Documented in boof_date_to_doy boof_doy_to_date

#' boof_date_to_doy
#'
#' @param mydate A date in yyyy-mm-dd format
#'
#' @return A numeric value representing the day of year, doy
#' @export
#'
boof_date_to_doy <- function(mydate = "2001-01-01"){

  year <- lubridate::year(mydate)

  date1 <- paste(year, "01", "01", sep = "-")
  date2 <- paste(year, "12", "31", sep = "-")

  doy_tib <- tibble::tibble(
    date = seq(lubridate::ymd(date1), lubridate::ymd(date2), by = "1 day")) %>%
    dplyr::mutate(doy = lubridate::yday(date))

  res <- doy_tib %>%
    dplyr::filter(date == mydate) %>%
    dplyr::select(doy) %>%
    dplyr::pull()

  return(res)
}

#' boof_doy_to_date
#'
#' @param mydoy A day of year
#' @param myyear A year if known, defaults to 2000
#'
#' @return A date in the format yyyy-mm-dd
#' @export
#'
boof_doy_to_date <- function(mydoy = 1,
                            myyear = 2000){


  date1 <- paste(myyear, "01", "01", sep = "-")
  date2 <- paste(myyear, "12", "31", sep = "-")

  doy_tib <- tibble::tibble(
    date = seq(lubridate::ymd(date1), lubridate::ymd(date2), by = "1 day")) %>%
    dplyr::mutate(doy = lubridate::yday(date))

  res <- doy_tib %>%
    dplyr::filter(doy == mydoy) %>%
    dplyr::select(date) %>%
    dplyr::pull()

  return(res)
}
vanichols/GinaBooty documentation built on Oct. 14, 2020, 3:26 a.m.