Statistical analysis of monthly background checks of gun purchases
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
R update URL, make canonical for CRAN Jan 30, 2017
inst population Mar 18, 2016
man update URL, make canonical for CRAN Jan 30, 2017
out added png charts (and ggplot pdf) Feb 28, 2016
.Rbuildignore adding Travis CI support Feb 15, 2016
DESCRIPTION release 0.1.2 Jan 30, 2017
NAMESPACE update URL, make canonical for CRAN Jan 30, 2017
gunsales.Rproj rename Rproj file Feb 8, 2016

Analysis of NICS gun purchase background checks

Build Status License CRAN Downloads

Statistical analysis of monthly background checks of gun purchases for the New York Times story What Drives Gun Sales: Terrorism, Obama and Calls for Restrictions.


This package depends on the R package seasonal for the seasonal adjustments, which itself uses a program called X-13ARIMA-SEATS. Windows, OS X and Linux binaries for this program are installed by the R package x13binary.

Both packages are now on CRAN and can be installed along with the other dependencies via

> install.packages("gunsales")

Running the main function

Once the package has loaded, run this in an R shell:

> library(gunsales)
> df <- analysis()

to create a single dataframe containing the results. The dataframe can be visualized via

> plot_gunsales(df)    
> ggplot_gunsales(df)

to create, respectively, plots via R base or ggplot2. Options to save the output in the out/ folder exist. The resulting ggplot2 charts are shown below:

Total Estimated Gun Sales

Total Estimated Gun Sales, Seasonally Adjusted

Total Estimated Gun Sales, Population-Growth Adjusted

Handguns vs Longguns

Six States


Data issues

The source data comes from the FBI's National Instant Criminal Background Check System, and was converted from the original PDF format to CSV using Tabula.

BuzzFeed also released the same dataset on Github last week.

Getting gun sales estimates from background checks

To convert background checks into estimated sales, we relied on a method suggested in the Small Arms Survey by Jurgen Brauer, a professor at Georgia Regents University. Each long gun and handgun check was counted as 1.1 sales. Each multiple-gun check was counted as two sales. Permit checks and other types of checks were omitted. The multiplier is an estimate based on Mr. Brauer's interviews with gun shop owners.

Note: In our computation, we excluded background checks for the "multiple" category in California because they followed an unusual pattern that did not match California gun sales data.