R/dummy_mileage_data.R

library(tidyverse)
source("./R/data_masking.R")
tags <- c(make_dummy_tag(100, "DOT"), make_dummy_tag(1000, "GSA"))

mileage <- list()

#set.seed(1775)
for (i in seq_along(tags)) {
    mu    <- runif(1, min = 280, max = 600)
    sigma <- runif(1, min = 0, max = 200)
    vehicle_miles <- rnorm(n = 36, mean = mu, sd = sigma)
    vehicle_miles[vehicle_miles < 0] <- 0
    year <- c(rep("2017", 12), rep("2018", 12), rep("2019", 12))
    month <- rep(month.abb, 3)
    mileage[[i]] <- data.frame(tag = tags[i],
                               year,
                               month,
                               mileage = vehicle_miles,
                               stringsAsFactors = FALSE)
}

vehicle_mileage <- bind_rows(mileage)

dat <- vehicle_mileage %>%
    group_by(tag) %>%
    nest()

vehicle_mileage$mileage[1:30] <- rnorm(30, mean = 100, sd = 50)

low_use <- vehicle_mileage %>%
    group_by(tag) %>%
    summarize(avg_mileage = mean(mileage, na.rm = TRUE)) %>%
    mutate(low_use = if_else(avg_mileage < 300, TRUE, FALSE))
vehicle_mileage <- left_join(vehicle_mileage, low_use, by = "tag")

sub_tags <- low_use$tag[1:20]

mileage_chart <- vehicle_mileage %>%
    filter(tag %in% sub_tags) %>%
    ggplot(aes(x = tag)) +
    geom_boxplot(aes(y = mileage, fill = low_use)) +
    scale_fill_manual(values = c("green", "red")) +
    geom_hline(aes(yintercept = 300), col = "red") +
    guides(fill = FALSE) +
    coord_flip()
burch-cm/fleetreportr documentation built on Nov. 4, 2019, 8:20 a.m.