Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/elipousson/getacs
A R package to work with ACS data from {tidycensus}
https://github.com/elipousson/getacs
american-community-survey r-package tidycensus
Last synced: about 2 months ago
JSON representation
A R package to work with ACS data from {tidycensus}
- Host: GitHub
- URL: https://github.com/elipousson/getacs
- Owner: elipousson
- License: other
- Created: 2023-07-15T05:58:31.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-21T00:39:54.000Z (3 months ago)
- Last Synced: 2024-10-12T12:18:52.791Z (2 months ago)
- Topics: american-community-survey, r-package, tidycensus
- Language: R
- Homepage: https://elipousson.github.io/getACS/
- Size: 1.89 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.Rmd
- Changelog: NEWS.md
- License: LICENSE
- Codemeta: codemeta.json
Awesome Lists containing this project
README
---
output: github_document
---```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```# getACS
[![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Project Status: WIP -- Initial development is in progress, but there has not yet been a stable, usable release suitable for the public.](https://www.repostatus.org/badges/latest/wip.svg)](https://www.repostatus.org/#wip)The goal of getACS is to make it easier to work with [American Community Survey data](https://www.census.gov/programs-surveys/acs) from the [tidycensus package](https://walker-data.com/tidycensus/) by Kyle Walker and others.
This package includes:
- Functions that extend `tidycensus::get_acs()` to support multiple tables, geographies, or years
- Functions for creating formatted tables from ACS data using the [gt package](https://gt.rstudio.com/)As of April 2024, this package uses a development version of `{tigris}`, available at .
## Installation
You can install the development version of getACS from [GitHub](https://github.com/) with:
``` r
# install.packages("pak")
pak::pkg_install("elipousson/getACS")
```## Usage
```{r setup}
library(getACS)
library(gt)
library(ggplot2)
```The main feature of `{getACS}` is support for returning multiple tables, geographies, and years.
```{r}
acs_data <- get_acs_geographies(
geography = c("county", "state"),
county = "Baltimore city",
state = "MD",
table = "B08134",
year = 2022,
quiet = TRUE
)
```The package also includes utility functions for filtering data and selecting columns to support the creation of tables using the `{gt}` package:
```{r}
tbl_data <- filter_acs(acs_data, indent == 1, line_number <= 10)
tbl_data <- select_acs(tbl_data)commute_tbl <- gt_acs(
tbl_data,
groupname_col = "NAME",
column_title_label = "Commute time",
table = "B08134"
)as_raw_html(commute_tbl)
```The `gt_acs_compare()` function also allows side-by-side comparison of geographies:
```{r}
commute_tbl_compare <- gt_acs_compare(
data = tbl_data,
id_cols = "column_title",
column_title_label = "Commute time",
table = "B08134"
)as_raw_html(commute_tbl_compare)
````gt_acs_compare_vars()` is a variant on `gt_acs_compare()` where the default values support comparisons with values in columns and geographical areas in rows:
```{r}
commute_tbl_compare_vars <- acs_data |>
filter_acs(indent == 1, line_number > 10) |>
gt_acs_compare_vars(
table = acs_data$table_id
)as_raw_html(commute_tbl_compare_vars)
```The package also includes several functions to support creating plots with the `{ggplot2}` package including `geom_acs_col()` and `labs_acs_survey()`:
```{r}
plot_data <- acs_data |>
filter_acs(indent == 1, line_number > 10) |>
select_acs() |>
fmt_acs_county(state = "Maryland")plot_data |>
ggplot() +
geom_acs_col(
fill = "NAME",
position = "dodge",
color = NA,
alpha = 0.75,
perc = TRUE,
errorbar_params = list(position = "dodge", linewidth = 0.25)
) +
scale_y_discrete("Means of transportation to work") +
scale_fill_viridis_d("Geography") +
labs_acs_survey(
.data = acs_data
) +
theme_minimal()
```The `geom_acs_col()` function calls `geom_acs_errorbar()` (passing the `errorbar_params` argument as additional parameters) and `scale_x_acs()` or `scale_y_acs()` (depending on whether `orientation = "y"` or the default value of `NA`).
For more information on working with Census data in R [read the book *Analyzing US Census Data: Methods, Maps, and Models in R*](https://walker-data.com/census-r) (February 2023).
## Related projects
### Related R packages and analysis projects
- [{easycensus}](https://github.com/CoryMcCartan/easycensus): Quickly Extract and Marginalize U.S. Census Tables
- [{cwi}](https://ct-data-haven.github.io/cwi/): Functions to speed up and standardize Census ACS data analysis for multiple staff people at DataHaven, preview trends and patterns, and get data in more layperson-friendly
- [{camiller}](https://camille-s.github.io/camiller/): A set of convenience functions, functions for working with ACS data via `{tidycensus}`
- [{psrccensus}](https://psrc.github.io/psrccensus/): A set of tools developed for PSRC (Puget Sound Regional Council) staff to pull, process, and visualize Census Data for geographies in the Central Puget Sound Region.
- [{CTPPr}](https://github.com/Westat-Transportation/CTPPr): A R package for loading and working with the US Census CTPP survey data.
- [{lehdr}](https://github.com/jamgreen/lehdr): a package to grab LEHD data in support of city and regional planning economic and transportation analysis
- [{mapreliability}](https://github.com/austensen/mapreliability): A R package for map classification reliability calculator
- [Studying Neighborhoods With Uncertain Census Data](https://github.com/geoss/acs_demographic_clusters): Code to create and visualize demographic clusters for the US with data from the American Community Survey### Related Python libraries
- [census-data-aggregator](https://github.com/datadesk/census-data-aggregator): A Python library from the L.A. Times data desk to help "combine U.S. census data responsibly"
- [census-table-metadata](https://github.com/censusreporter/census-table-metadata): Tools for generating metadata about tables and fields in a Census release based on sequence lookup and table shell files. (Note: the pre-computed data from this repository is used to label ACS data by `label_acs_metadata()`)