Created
November 7, 2020 16:19
-
-
Save ryanburge/32ad5df38c37e06e5b4a9e23eeb7ed1a to your computer and use it in GitHub Desktop.
CCES 2020 RELTRAD
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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