Unemployment 2006-2009 - unemp.2006.2009
Intermediate Macroeconomics, Econ 102
()
::: {.cell}
```{.r .cell-code}
# cd ~/iCloud/website/data; Rscript --vanilla _update_qmd_folder.R bls-la only=unemp.2006.2009.qmd
# sh ~/iCloud/website/website_short.sh
here::i_am("data/bls-la/unemp.2006.2009.qmd")
# here() starts at /Users/geerolf/Dropbox/website
Code
library(tidyverse)# ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
# ✔ dplyr 1.2.1 ✔ readr 2.2.0
# ✔ forcats 1.0.1 ✔ stringr 1.6.0
# ✔ ggplot2 4.0.3 ✔ tibble 3.3.1
# ✔ lubridate 1.9.5 ✔ tidyr 1.3.2
# ✔ purrr 1.2.2
# ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
# ✖ dplyr::filter() masks stats::filter()
# ✖ dplyr::lag() masks stats::lag()
# ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
Code
library(arrow)#
# Attachement du package : 'arrow'
#
# L'objet suivant est masqué depuis 'package:lubridate':
#
# duration
#
# L'objet suivant est masqué depuis 'package:utils':
#
# timestamp
Code
source(here::here("code", "basic_functions.R"))
la.data.0 <- list.files(here::here("data", "bls"), "^la\\.data\\.0\\.CurrentU.*\\.parquet$", full.names = TRUE) |>
map(\(f) read_parquet(f) |> mutate(across(everything(), as.character))) |>
list_rbind() |>
mutate(year = as.numeric(year), value = as.numeric(value))
la.series <- read_parquet(here::here("data", "bls", "la.series.parquet"))
la.data.0.extract <- la.data.0 |>
select(-footnote_codes) |>
full_join(la.series, by = "series_id") |>
mutate(value = as.numeric(value)) |>
filter(!is.na(value)) |>
arrange(series_id, year, period)
la.data.0.county.yearly <- la.data.0 |>
select(-footnote_codes) |>
full_join(la.series, by = "series_id") |>
mutate(value = as.numeric(value)) |>
filter(!is.na(value)) |>
arrange(series_id, year, period) |>
mutate(area_code = paste(area_code),
area_type = substr(area_code, 1, 2),
fips = as.numeric(substr(area_code, 3, 7))) |>
filter(area_type == "CN", period == "M13") |>
select(fips, year, measure_code, value) |>
arrange(fips, year, measure_code)
la.data.0.county.monthly <- la.data.0 |>
select(-footnote_codes) |>
full_join(la.series, by = "series_id") |>
mutate(value = as.numeric(value)) |>
filter(!is.na(value)) |>
arrange(series_id, year, period) |>
mutate(area_code = paste(area_code),
area_type = substr(area_code, 1, 2),
fips = as.numeric(substr(area_code, 3, 7)),
month = as.numeric(substr(period, 2, 3)),
year = year + (month-1)/12) |>
filter(area_type == "CN", period != "M13") |>
select(fips, year, measure_code, value) |>
arrange(fips, year, measure_code)
unemp.2006.2009 <- la.data.0 |>
select(-footnote_codes) |>
full_join(la.series, by = "series_id") |>
mutate(value = as.numeric(value)) |>
filter(!is.na(value)) |>
arrange(series_id, year, period) |>
mutate(area_code = paste(area_code),
area_type = substr(area_code, 1, 2),
fips = as.numeric(substr(area_code, 3, 7))) |>
filter(area_type == "CN", period == "M13") |>
select(fips, year, measure_code, value) |>
arrange(fips, year, measure_code) |>
filter(measure_code == 3, year %in% c(2006, 2009)) |>
select(-measure_code) |>
spread(year, value) |>
select(fips, unemp2006 = `2006`, unemp2009 = `2009`)
# Pas de write_parquet ici : unemp.2006.2009.parquet est l entree figee de la
# replication KaplanMitmanViolante2018 (LAUS revise depuis -> valeurs 2009 differentes).
unemp.2006.2009 |> head()# fips unemp2006 unemp2009
# 1 1001 3.3 8.6
# 2 1003 3.2 8.6
# 3 1005 5.7 12.7
# 4 1007 4.2 11.7
# 5 1009 3.2 8.8
# 6 1011 8.8 13.9
:::