Skip to content

Instantly share code, notes, and snippets.

@ryanburge
Created November 7, 2020 16:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ryanburge/32ad5df38c37e06e5b4a9e23eeb7ed1a to your computer and use it in GitHub Desktop.
Save ryanburge/32ad5df38c37e06e5b4a9e23eeb7ed1a to your computer and use it in GitHub Desktop.
CCES 2020 RELTRAD
library(tidyverse)
# library(haven)
library(car)
# cces20 <- read_dta("D://cces/data/cces20.dta")
cces20 <- cces20 %>%
mutate(white = car::recode(race, "1=1; else=0")) %>%
mutate(black = car::recode(race, "2=1; else=0"))
## Baptist
cces20 <- cces20 %>%
mutate(sbc = car::recode(religpew_baptist, "1=1; else=0")) %>%
mutate(sbc = sbc - black) %>%
mutate(sbc = car::recode(sbc, "1=1; else=0"))
cces20 <- cces20 %>%
mutate(abc = car::recode(religpew_baptist, "2=1; else=0")) %>%
mutate(abc = abc - black) %>%
mutate(abc = car::recode(abc, "1=1; else=0"))
cces20 <- cces20 %>%
mutate(ibc = car::recode(religpew_baptist, "5=1; else=0"))
cces20 <- cces20 %>%
mutate(bgc = car::recode(religpew_baptist, "6=1; else=0"))
cces20 <- cces20 %>%
mutate(mbc = car::recode(religpew_baptist, "7=1; else=0")) %>%
mutate(mbc = mbc - black) %>%
mutate(mbc = car::recode(mbc, "1=1; else=0"))
cces20 <- cces20 %>%
mutate(cb = car::recode(religpew_baptist, "8=1; else=0"))
cces20 <- cces20 %>%
mutate(fwb = car::recode(religpew_baptist, "9=1; else=0"))
cces20 <- cces20 %>%
mutate(gabb = car::recode(religpew_baptist, "10=1; else=0"))
cces20 <- cces20 %>%
mutate(obc = car::recode(religpew_baptist, "90=1; else=0")) %>%
mutate(obc = obc - black) %>%
mutate(obc = car::recode(obc, "1=1; else=0"))
cces20 <- cces20 %>%
mutate(evanbap = sbc + abc + ibc + bgc + mbc + cb + fwb + gabb + obc)
## Methodist
cces20 <- cces20 %>%
mutate(fmc = car::recode(cces20$religpew_methodist, "2=1; else=0"))
cces20 <- cces20 %>%
mutate(omc = car::recode(cces20$religpew_methodist, "90=1; else=0")) %>%
mutate(omc = white + omc) %>%
mutate(omc = car::recode(omc, "2=1; else=0"))
cces20 <- cces20 %>%
mutate(evanmeth = fmc + omc)
##Non-Denom
cces20 <- cces20 %>%
mutate(hiatt = car::recode(pew_churatd, "1:3=1; else=0")) %>%
mutate(nd = car::recode(religpew_nondenom, "1:90=1; else=0")) %>%
mutate(evannd = nd + hiatt) %>%
mutate(evannd = car::recode(evannd, "2=1; else=0"))
## Lutheran
cces20 <- cces20 %>%
mutate(mz = car::recode(religpew_lutheran, "2=1; else=0")) %>%
mutate(wi = car::recode(religpew_lutheran, "3=1; else=0")) %>%
mutate(evanluth = mz + wi)
## Presbyterian
cces20 <- cces20 %>%
mutate(pca = car::recode(religpew_presby, "2=1; else=0")) %>%
mutate(epc = car::recode(religpew_presby, "6=1; else=0")) %>%
mutate(evanpres = pca + epc)
## Pentecostal
cces20 <- cces20 %>%
mutate(evanpent = car::recode(religpew_pentecost, "1:90 =1; else=0"))
## Episcopal
## None
## Congregregational
cces20 <- cces20 %>%
mutate(evancong = car::recode(religpew_congreg, "2=1; else=0"))
## Holiness
cces20 <- cces20 %>%
mutate(evanholy = car::recode(religpew_holiness, "1:90 =1; else=0"))
## Advent
## None
## Totaling Up
cces20 <- cces20 %>%
mutate(evangelical = evanbap + evanmeth + evannd + evanluth + evanpres + evanpent + evancong + evanholy) %>%
mutate(evangelical = car::recode(evangelical, "1:4=1; else=0"))
## Making Mainline
cces20 <- cces20 %>%
mutate(abc = car::recode(cces20$religpew_baptist, "2=1; 4=1; else=0"))
cces20 <- cces20 %>%
mutate(epis = car::recode(cces20$religpew_episcop, "1:90=1; else=0"))
cces20 <- cces20 %>%
mutate(luth = car::recode(cces20$religpew_lutheran, "1=1; 4=1; else=0"))
cces20 <- cces20 %>%
mutate(meth = car::recode(cces20$religpew_methodist, "1=1; 90=1; else=0"))
cces20 <- cces20 %>%
mutate(pres = car::recode(cces20$religpew_presby, "1=1; 90=1; else=0"))
cces20 <- cces20 %>%
mutate(cong = car::recode(cces20$religpew_congreg, "1=1; 3=1; 90=1; else=0"))
cces20 <- cces20 %>%
mutate(doc = car::recode(cces20$religpew_protestant, "8=1; else=0"))
cces20 <- cces20 %>%
mutate(reform = car::recode(cces20$religpew_protestant, "11=1; else=0"))
cces20 <- cces20 %>%
mutate(mainline = abc + epis + luth + meth + pres + cong + doc + reform) %>%
mutate(mainline = car::recode(mainline, "1:5=1; else=0"))
## Black Protestant
cces20 <- cces20 %>%
mutate(black = car::recode(race, "2=1; else=0"))
cces20 <- cces20 %>%
mutate(meth = car::recode(cces20$religpew_methodist, "3:4=1; else=0"))
cces20 <- cces20 %>%
mutate(sbc = car::recode(cces20$religpew_baptist, "1=1; else=0")) %>%
mutate(sbc = black + sbc) %>%
mutate(sbc = car::recode(sbc, "2=1; else=0"))
cces20 <- cces20 %>%
mutate(nbap = car::recode(cces20$religpew_baptist, "3=1; else=0"))
cces20 <- cces20 %>%
mutate(abc = car::recode(cces20$religpew_baptist, "2=1; else=0")) %>%
mutate(abc = black + abc) %>%
mutate(abc = car::recode(abc, "2=1; else=0"))
cces20 <- cces20 %>%
mutate(miss = car::recode(cces20$religpew_baptist, "7=1; else=0")) %>%
mutate(miss = black + miss) %>%
mutate(miss = car::recode(miss, "2=1; else=0"))
cces20 <- cces20 %>%
mutate(obap = car::recode(cces20$religpew_baptist, "90=1; else=0")) %>%
mutate(obap = black + obap) %>%
mutate(obap = car::recode(obap, "2=1; else=0"))
cces20 <- cces20 %>%
mutate(ometh = car::recode(cces20$religpew_methodist, "90=1; else=0")) %>%
mutate(ometh = black + ometh) %>%
mutate(ometh = car::recode(ometh, "2=1; else=0"))
cces20 <- cces20 %>%
mutate(apos = car::recode(cces20$religpew_pentecost, "6=1; 7=1; else=0"))
cces20 <- cces20 %>%
mutate(open = car::recode(cces20$religpew_pentecost, "90=1; else=0")) %>%
mutate(open = black + open) %>%
mutate(open = car::recode(open, "2=1; else=0"))
cces20 <- cces20 %>%
mutate(holy = car::recode(cces20$religpew_holiness, "90=1; else=0")) %>%
mutate(holy = black + holy) %>%
mutate(holy = car::recode(holy, "2=1; else=0"))
cces20 <- cces20 %>%
mutate(bprot = meth + sbc + nbap + abc + miss + obap + ometh + apos + open + holy) %>%
mutate(bprot = car::recode(bprot, "1:2=1; else=0"))
## Everything Else
cces20 <- cces20 %>%
mutate(catholic = car::recode(religpew, "2=1; else=0"))
cces20 <- cces20 %>%
mutate(jewish = car::recode(religpew, "5=1; else=0"))
cces20 <- cces20 %>%
mutate(other = car::recode(religpew, "3=1; 6:8=1; 12=1; else=0"))
cces20 <- cces20 %>%
mutate(none = car::recode(religpew, "9:11=1; else=0"))
frcode <- function(...) {
args <- as.list(match.call())
levels <- sapply(args[-1], function(f) f[[3]]) # extract RHS of formula
levels <- levels[!is.na(levels)]
factor(dplyr::case_when(...), levels=levels)
}
## Making Trads ####
cces20 <- cces20 %>%
mutate(trad = frcode(evangelical == 1 & race == 1 ~ "White\nEvangelical",
evangelical == 1 & race != 1 ~ "Non-White\nEvangelical",
mainline == 1 ~ "Mainline",
religpew == 1 & race == 2 ~ "Black\nProtestant",
catholic == 1 & race == 1 ~ "White\nCatholic",
catholic == 1 & race != 1 ~ "Non-White\nCatholic",
religpew == 3 ~ "Mormon",
religpew == 4 ~ "Orthodox",
religpew == 5 ~ "Jewish",
religpew == 6 ~ "Muslim",
religpew == 7 ~ "Buddhist",
religpew == 8 ~ "Hindu",
religpew == 9 ~ "Atheist",
religpew == 10 ~ "Agnostic",
religpew == 11 ~ "Nothing in Particular",
TRUE ~ "Unclassified"))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment