Our dataset looks at something called religious adherence. According to the study an adherent is defined as the following: All members, including full members, their children and the estimated number of other participants who are not considered members; for example, the “baptized,” “those not confirmed,” “those not eligible for Communion,” “those regularly attending services,” and the like. The goal of this study was to quantify the adherence levels for different religions throughout the United States.

The dataset was available from the Association for Religion Data Archives (ARDA) at the following link: http://www.thearda.com/Archive/Files/Descriptions/RCMSCY10.asp

In order to begin reproducing the data we first downloaded the dataset. Then after installing the necessary packages ran the first chunk of code. This code simply loads the data for us.

library(foreign)
counties <- read.spss("U.S. Religion Census Religious Congregations and Membership Study, 2010 (County File).SAV", to.data.frame = TRUE)

After that, we began to work with the data. The first task was to map the total religious adherents by county.

library(choroplethr)
library(ggplot2)
library(viridis)
counties <- counties[!is.na(counties$TOTRATE),]
counties$region <- counties$FIPS
counties$value <- counties$TOTRATE
counties[(counties$value > 1000),'value'] <- 1000.
choro = CountyChoropleth$new(counties)
choro$title = "Total Religious Adherents by County"
choro$set_num_colors(1)
choro$ggplot_polygon = geom_polygon(aes(fill = value), color = NA)
choro$ggplot_scale = scale_fill_gradientn(name = "Adherence raten(per 1000 population)", colours = viridis(32), limits = c(0, 1000))
choro$render()

Once that was done, we recapitulated the county data for Iowa.

choro = CountyChoropleth$new(counties)
choro$title = "Total Religious Adherents in Iowa"
choro$set_num_colors(1)
choro$set_zoom("iowa")
choro$ggplot_polygon = geom_polygon(aes(fill = value), color = NA)
choro$ggplot_scale = scale_fill_gradientn(name = "Adherence raten(per 1000 population)", colours = viridis(32))
choro$render()

The next task was to map to the religious adherence of Evangelical Protestants in Iowa.

counties$value <- counties$EVANRATE
choro = CountyChoropleth$new(counties)
choro$title = "Evangelical Protestants in Iowa"
choro$set_num_colors(1)
choro$set_zoom("iowa")
choro$ggplot_polygon = geom_polygon(aes(fill = value), color = NA)
choro$ggplot_scale = scale_fill_gradientn(name = "Adherence raten(per 1000 population)", colours = viridis(32))
choro$render()

Based on the observable low levels of Evangelical Protestants the next task was to identify the religious majority in Iowa.

library(gridExtra)
counties[is.na(counties)] <- 0
counties$value <- counties$MPRTRATE
choro1 = CountyChoropleth$new(counties)
choro1$set_zoom("iowa")
choro1$title = "Mainline Protestants in Iowa"
choro1$set_num_colors(1)
choro1$ggplot_polygon = geom_polygon(aes(fill = value), color = NA)
choro1$ggplot_scale = scale_fill_gradientn(name = "Adherence raten(per 1000 population)", colours = viridis(32))
counties$value <- counties$CATHRATE
choro2 = CountyChoropleth$new(counties)
choro2$set_zoom("iowa")
choro2$title = "Catholics in Iowa"
choro2$set_num_colors(1)
choro2$ggplot_polygon = geom_polygon(aes(fill = value), color = NA)
choro2$ggplot_scale = scale_fill_gradientn(name = "Adherence raten(per 1000 population)", colours = viridis(32))
 
grid.arrange(choro1$render(), choro2$render(), ncol = 2)

The next question posed by the original authors of this work asked whether Iowa’s low level of Evangelical Protestants was similar or different from its neighbors.

counties$value <- counties$EVANRATE
choro = CountyChoropleth$new(counties)
choro$title = "Evangelical Protestants in Iowa and Neighbors"
choro$set_num_colors(1)
choro$set_zoom(c("iowa", "missouri", "illinois", "wisconsin", "minnesota",
                 "south dakota", "nebraska", "kansas"))
choro$ggplot_polygon = geom_polygon(aes(fill = value), color = NA)
choro$ggplot_scale = scale_fill_gradientn(name = "Adherence raten(per 1000 population)", colours = viridis(32))
choro$render()