I came across a fantastic research paper published in American Economic Review about how Abraham Lincoln’s election in 1861 affected slave prices. The paper is available for free here: https://www.aeaweb.org/articles?id=10.1257/aer.20131483. On the same page there are links to the data set and other documents.
In this blog post, I am going to explore this rich data set. I must admit that although I have lived in the US for several years, I didn’t know much about slave trade. This research paper and the data set have been a great revelation. It’s also extremely saddening to go over the data set with the constant realization that these are transactions records for trades involving men, women, and children.
I started exploring the data set by looking at distributions of various variables like sex and age. However, my first plot is of the top 10 slave sellers. It’s interesting that top 3 slave sellers are from outside Louisiana, indicating that they were bringing in slaves from other states and selling them in New Orleans. The top slave seller is Bernard Moore Campbell, who, along with his brother, was selling slaves brought from Maryland. You can read up more here: http://slavery.msa.maryland.gov/html/antebellum/pg.html
After I read the data in R and cleaned it up a little bit (e.g., assigned NAs to missing values), I created my first plot by using the following code.
# Our data set name is 'slave'
# The data set has a dummy variable indicating which observations to use
library(dplyr) # Data manipulation
library(ggplot2) # Plots
library(hrbrthemes) # Used for awesome ggplot2 themes
slave = slave %>% filter(Omission == FALSE)
# Create a variable with seller's full name and the state of origin
slave$SellerFullName = paste0(slave$SellersFirstName," ",slave$SellersLastName,
"\n (",slave$SellersStateOfOrigin,")")
# Keep only the data from 1856 to 1861 as the paper.
# Summarize total slaves for each slave seller.
seller2 = slave %>%
filter(SalesYear >= 1856 & SalesYear <= 1861) %>%
group_by(SellerFullName) %>%
summarize(TotalSlaves = sum(NumberOfTotalSlaves, na.rm = TRUE),
TotalAdultSlaves = sum(NumberOfAdultSlaves, na.rm = TRUE)) %>%
arrange(desc(TotalAdultSlaves))
Now we are ready to make out first plot. I am going to use a combination of dplyr
and ggplot2
here so please pay attention to the way the code is written.
seller2 %>% arrange(desc(TotalSlaves)) %>% head(10) %>%
ggplot(aes(x = reorder(SellerFullName,TotalSlaves), y = TotalSlaves)) +
geom_bar(stat = "identity") +
labs(x = "", y = "Number of Slaves Sold",
title = "Top 10 Slave Sellers in New Orleans 1856-1861",
caption = 'The States of Origin of Slave Sellers are in Parantheses.
Calomiris, Charles W., and Jonathan Pritchett. 2016.
"Betting on Secession: Quantifying Political Events Surrounding Slavery and the Civil War."
American Economic Review, 106(1): 1-23.') +
theme_ipsum_rc() +
coord_flip() +
geom_text(aes(label = scales::comma(TotalSlaves)),
color = c(rep("white",3),rep("black",7)),
hjust = c(rep(1.2,3),rep(-0.2,7)))
Note that I am still working on the data to understand its nature. The authors of the original paper suggest that there were around 16,000 slave trades but when I sum up all the records, the number os more than 35,000. I think this has something to do with the way the prices are listed. The prices appear only for one slave even when there was a group trade involving more than 1 slave. I will keep that in mind when I study the pricing.