Post-Secondary Employment Outcomes (PSEO) Analysis
1. Load Packages
library(readxl)
library(tidyverse)
library(scales)
2. Import Excel
# Read PSEO Excel workbook
pseo_raw <- read_excel("pseo_utah_earnings.xlsx", sheet = "Earnings")
head(pseo_raw)
3. Earnings Data
# PSEO earnings data by degree field
pseo_earnings <- tibble(
program = rep(c("Business & Marketing", "Health Professions", "Computer Sciences", "Social Sciences"), each = 3),
time_postgrad = rep(c("1 Year", "5 Years", "10 Years"), times = 4),
median_earnings = c(
53406, 82298, 108893, # Business & Marketing
56645, 71091, 87622, # Health Professions
62500, 91000, 122000, # Computer Sciences
41500, 63200, 81500 # Social Sciences
)
) %>%
mutate(
time_postgrad = factor(time_postgrad, levels = c("1 Year", "5 Years", "10 Years")),
program = factor(program)
)
# Table summary
knitr::kable(pseo_earnings, col.names = c("Degree Field", "Time Post-Graduation", "Median Earnings ($)"))
| Business & Marketing |
1 Year |
53406 |
| Business & Marketing |
5 Years |
82298 |
| Business & Marketing |
10 Years |
108893 |
| Health Professions |
1 Year |
56645 |
| Health Professions |
5 Years |
71091 |
| Health Professions |
10 Years |
87622 |
| Computer Sciences |
1 Year |
62500 |
| Computer Sciences |
5 Years |
91000 |
| Computer Sciences |
10 Years |
122000 |
| Social Sciences |
1 Year |
41500 |
| Social Sciences |
5 Years |
63200 |
| Social Sciences |
10 Years |
81500 |
4. Bar Chart
ggplot(pseo_earnings, aes(x = program, y = median_earnings, fill = time_postgrad)) +
geom_col(position = "dodge") +
scale_y_continuous(labels = dollar_format(prefix = "$")) +
labs(
title = "Median Earnings by Degree Field",
x = "Degree Field",
y = "Median Earnings ($)",
fill = "Time Post-Grad"
) +
theme_minimal()
