numform (version 0.5.0)

f_month: Format Months to One Letter Abbreviation

Description

Format long month name, integer, or date formats to a single capital letter. Useful for plot scales as a way to save space.

Usage

f_month(x, ...)

# S3 method for default f_month(x, ...)

# S3 method for numeric f_month(x, ...)

# S3 method for Date f_month(x, ...)

# S3 method for POSIXt f_month(x, ...)

# S3 method for hms f_month(x, ...)

ff_month(...)

f_month_name(x, ...)

# S3 method for default f_month_name(x, ...)

# S3 method for numeric f_month_name(x, ...)

# S3 method for Date f_month_name(x, ...)

# S3 method for POSIXt f_month_name(x, ...)

# S3 method for hms f_month_name(x, ...)

ff_month_name(...)

f_month_abbreviation(x, ...)

# S3 method for default f_month_abbreviation(x, ...)

# S3 method for numeric f_month_abbreviation(x, ...)

# S3 method for Date f_month_abbreviation(x, ...)

# S3 method for POSIXt f_month_abbreviation(x, ...)

# S3 method for hms f_month_abbreviation(x, ...)

ff_month_abbreviation(...)

Arguments

x

A vector of month names, integers 1-12, or dates.

ignored.

Value

Returns a single letter month abbreviation atomic vector.

Examples

Run this code
# NOT RUN {
f_month(month.name)

f_month(1:12)

dates <- seq(as.Date("2000/1/1"), by = "month", length.out = 12)
f_month(dates)
# }
# NOT RUN {
if (!require("pacman")) install.packages("pacman")
pacman::p_load(tidyverse)

set.seed(11)
data_frame(
    date = sample(seq(as.Date("1990/1/1"), by = "day", length.out = 2e4), 12)
) %>%
    mutate(
        year_4 = f_year(date, 2),
        year_2 = f_year(date, 4),
        quarter = f_quarter(date),
        month_name = f_month_name(date) %>%
            as_factor(),
        month_abbreviation = f_month_abbreviation(date) %>%
            as_factor(),
        month_short = f_month(date),
        weekday_name = f_weekday_name(date),
        weekday_abbreviation = f_weekday_abbreviation(date),
       weekday_short = f_weekday(date),
        weekday_short_distinct = f_weekday(date, distinct = TRUE)
    )


set.seed(10)
dat <- data_frame(
    month = sample(month.name, 1000, TRUE),
    area =  sample(LETTERS[1:5], 1000, TRUE)
) %>%
    count(month, area) %>%
    ungroup() %>%
    mutate(month = factor(month, levels = constant_months))

## without date formatting
ggplot(dat, aes(month, n)) +
    geom_bar(stat = 'identity') +
    facet_wrap(~ area)

## with date formatting
ggplot(dat, aes(month, n)) +
    geom_bar(stat = 'identity') +
    facet_wrap(~ area) +
    scale_x_discrete(labels = f_month)
# }

Run the code above in your browser using DataLab