The Birth and Death of the Ku Klux Klan

Visualizing the Expansion (1915–1935) and Disintegration (2000–2020) of Klaverns in the United States

Tyler Oldham

12/7/2021

Introduction

The Ku Klux Klan, or KKK, is one of America’s oldest and most notorious hate groups. The KKK was officially established in post-war 1865 by a small group of confederate veterans. Founding members of the KKK believed that Reconstruction-era progressive policies were a threat to their Southern-white way of life. That is to say, white supremacy and the systemic oppression of Black and other minority communities. As their ranks grew, the KKK used intimidation, violence, and hegemony to directly combat Reconstruction efforts. Despite nationwide efforts to halt their influence, by the end of the 1870s they had largely accomplished their mission of curbing reconstruction and reestablishing white-supremacy in the south. Klan activity stagnated towards the end of the 19th century, due to military suppression by President Grant and the completion their goal. 1 2 3

The second generation of the Ku Klux Klan started in 1915 and continued up to The Great Depression. KKK membership peaked during this time, with some sources estimating that the total members exceeded 4 million at one point. Founded by Protestant Fundamentalists, Christianity played a major role in the second KKK. While still advocating for white-supremacy, the new groups also came to oppose Judaism and Catholicism, as well as immigrants and organized labor. They often used the symbol of a burning cross in their rallies, marches, and parades. This era, 1915-1935 will be the first range of years that we will visualize. 1

Definitions

Klavern: a local unit of the Klan. Source

Datasets

Mapping the KKK 1921–1940

The first dataset I utilized was the Mapping the KKK 1921–1940 data from Kaggle. Despite the dataset’s somewhat misleading name, it contains data from the first revitalized klavern in Atlanta, 1915 to the start of WWII, 1942. The data was collected from local newspaper archives across America to confirm the existence and info of each klavern.

The only time-based variable in the dataset just gives the year that the klavern was founded. When I attempted to animate the map over time, the points were only visible for one year. To solve this, I wrote a script that would loop for a select range of years, each time parsing through each dataframe row. The script would then copy the row to a new dataframe if the year of loop is greater than the year founded. While it runs, the total rows for each year of the new dataframe grows exponentially, so I don’t recommend using this for any any longer than 30 loops. Click the Code button to see the code.

df <- read.csv("/path/to/file.csv") # Read in csv
df <- df %>% arrange(desc(-year)) # Arrange by year ascending
df <- df[!(df$year == 0),] # Remove zero values
df_new <- data.frame() # Create blank dataframe

# For range of years
for (i in 1915:1942) { 
  message("year: ", i) 
  
  for (row in 1:nrow(df)) { # For rows in dataframe

    temp_row <- df[row,] # Save the row temporarily 
    
    if (temp_row$year <= i) { # If the year founded <= year of loop

      # Give row new column of year of loop value and
      # copy row to new dataframe
      temp_row$year_folded <- i 
      df_new <- rbind(df_new, temp_row) 
    }
  }
}

write.csv(df_new, "/path/to/file_folded.csv") # Write to disk

SPLC Hate Map

I downloaded the secondary data from the Southern Poverty Law Center: Hate Map, a spatial database of SPLC known hate groups. I downloaded the spreadsheet from each year (2000-2020), and merged them using the code below. The dataset contains a variety of different ideology variables, however for this analysis we’ll filter it in Tableauto only include the KKK. Click the Code button to see the code.

# Sets working directory and loops for amount of files in folder
setwd("/Path/to/folder/") 
for (data in list.files()){

  # Create the first data if no data exist yet
  if (!exists("dataset")){
    dataset <- read.csv(data, header=TRUE)
  }

  # If data already exist, then append it together
  if (exists("dataset")){
    tempory <-read.csv(data, header=TRUE)
    dataset <-unique(rbind(dataset, tempory))
    rm(tempory)
  }
}

write.csv(dataset, "/Path/to/file.csv") # Write to disk

Results

Maps

The maps were constructed in Tableau using the animate pages feature. Press the forward button once to start the animation, this is a large dataset so be patient.

Notice the cities generally extend outwards from Atlanta. This is unsurprising due to the nature of mass communication back then. The three primary mediums for receiving information in the early 20th century are radio, newspaper, and word-of-mouth. Each of these are limited in their reach, especially by proximity. Limited range of radio, logistical issues of transporting local publication to other cities, and the tendency to travel close to home all contribute to the sprawling trend we see.

Total Klaverns

Change in Klaverns / Year