R/FNGr.R

Defines functions theme_sleek tickr mode

# You can learn more about package authoring with RStudio at:
#
#   http://r-pkgs.had.co.nz/
#
# Some useful keyboard shortcuts for package authoring:
#
#   Build and Reload Package:  'Ctrl + Shift + B'
#   Check Package:             'Ctrl + Shift + E'
#   Test Package:              'Ctrl + Shift + T'



theme_sleek <- function(base_size = 12, base_family = "Times") {

  windowsFonts(Times=windowsFont("TT Times New Roman"))

  half_line <- base_size/2

 theme_light(base_size = base_size, base_family = base_family) +
    theme(
      panel.grid.major = element_blank(),
      panel.grid.minor = element_blank(),
      axis.ticks.length = unit(half_line / 2.2, "pt"),
      strip.background = element_rect(fill = NA, colour = NA),
      strip.text.x = element_text(colour = "black"),
      strip.text.y = element_text(colour = "black"),
      #axis.text = element_text(colour = "grey30"),
      #axis.title = element_text(colour = "grey30"),
      #legend.title = element_text(colour = "grey30"),#, size = rel(0.9)
      panel.border = element_rect(fill = NA),#, colour = "grey70", size = 1),
      legend.key.size = unit(0.9, "lines"),
      #legend.text = element_text(size = rel(0.7)),#, colour = "grey30"),
      legend.key = element_rect(colour = NA, fill = NA),
      legend.background = element_rect(colour = NA, fill = NA)#,
      #plot.title = element_text(colour = "grey30"),#, size = rel(1)
      #plot.subtitle = element_text(colour = "grey30")#, size = rel(.85)
    )

}

# Depends on dplyr
tickr <- function(
  data, # dataframe
  var, # column of interest
  to # break point definition
  ){

  VAR <- enquo(var) # makes VAR a dynamic variable

  data %>%
    dplyr::filter(!is.na(!!VAR)) %>%
    distinct(!!VAR) %>%
    mutate(labels = ifelse(!!VAR %in% seq(to * round(min(!!VAR) / to), max(!!VAR), to),
                          !!VAR, "")) %>%
    dplyr::select(breaks = UQ(VAR), labels)
}

# Mode
mode <- function(x) {
  uniqv <- unique(x)
  as.numeric(uniqv[which.max(tabulate(match(x, uniqv)))])
}
ben-williams/FNGr documentation built on May 30, 2019, 6:25 a.m.