#' job_table()
#'
#' This function creates a summary table of GED results.
#' @param enroll_data dataframe: a dataframe containing enrollment data."[Admin] raw_enrollment_report"
#' @param job_data dataframe: a dataframe containing job data."[Admin] raw_pos_report_detailed"
#' @param measure character vector: Name of measures in the table
#' @param target numeric vector: Organization target for each measure in the table
#' @param eto_programs character vector: a vector of character containing the name of ETO programs to keep for GED analysis.
#' @param workforce_programs character vector: a vector of character containing the name of all workforce programs.
#' @return dataframe
#' @export
#' @examples
#' enroll <- laycUtils::load_txt('./my_data_folder/enrollment.txt')
#' enroll <- laycUtils::format_data(enroll)
#' job <- laycUtils::load_txt('./my_data_folder/job.txt')
#' job <- laycUtils::format_data(tp)
#'
#' job_table(enroll_data = enroll, job_data = job)
job_table <- function(enroll_data,
job_data,
measure = c("enrolled in placement", "placed", "retained"),
target = c(enrolled = .75, placed = .40, retained = .70),
eto_programs = c("ss - job placement", "pg - employment job placement", "dc - wise job placement"),
workforce_programs = c("ss - ccorps projects", "ss - counseling",
"ss - ged", "ss - job placement", "ss - job readiness",
"pg - employment case management", "pg - employment ged",
"pg - employment in school", "pg - employment job placement",
"pg - employment job training", "dc - wise ged", "dc - wise job placement",
"dc - wise job training"))
{
# Get workforce enrollment
workforce <- laycEnrollment::get_enroll(enroll, eto_programs = workforce_programs)
# Get job enrollment
enrollment <- job_enroll(enroll_data)
# Get job placement
placed <- job_placed(enroll_data, job_data)
# Get job retention
retained <- job_retention(enroll_data, job_data)
# Create data frame
n <- c(workforce, enrollment, placed)
value <- c(enrollment, placed, retained)
df <- data.frame(measure, target, value, n)
# Format data frame
df$value_scaled <- round(df$value / df$n, 3)
df$value_scaled[df$value > df$n] <- NA
df$y_title <- paste('%', df$measure, '\nn =', df$n)
df$target_met[df$value_scaled < df$target / 2] <- 'low'
df$target_met[df$value_scaled >= df$target / 2 & df$value_scaled < df$target] <- 'medium'
df$target_met[df$value_scaled >= df$target] <- 'high'
df$target_met <- ordered(df$target_met)
df$target_met <- ordered(df$target_met, levels = c("low", "medium", "high"))
# Return dataframe
return(df)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.