#----- Religious Nones - GSS data 1972 - 2018
# https://twitter.com/pjmccann3/status/1109127955907837952
# https://t.co/3tBqjPBXeb dta download url
# D:\Downloads\gss_full.dta
#rm(list=ls())
library(tidyverse)
d = read_dta("D:/Downloads/gss_full.dta")
saveRDS(d, "C:/Data/R/religous_nones_gss_data.rds") # CYA save
# FYI, the *.dta file was 445 MB while the *.rds file was a mere 33 MB. R compression FTW!
#----- Get raw data of desired columns -----
datraw <- select(d, year, evangelical, mainline, blackprot, catholic, jewish, otherfaith, nofaith)
#----- counts by year -----
datcount <- d %>%
group_by(year) %>%
summarize(
total = sum(evangelical + mainline + blackprot + catholic + jewish + otherfaith + nofaith),
evangelical = sum(evangelical),
mainline = sum(mainline) ,
blackprot = sum(blackprot),
catholic = sum(catholic) ,
jewish = sum(jewish) ,
otherfaith = sum(otherfaith),
nofaith = sum(nofaith)
)
#----- percents by year -----
datpercent <- d %>%
group_by(year) %>%
summarize(
total = sum(evangelical + mainline + blackprot + catholic + jewish + otherfaith + nofaith),
evangelical = sum(evangelical) / total,
mainline = sum(mainline) / total,
blackprot = sum(blackprot) / total,
catholic = sum(catholic) / total,
jewish = sum(jewish) / total,
otherfaith = sum(otherfaith) / total,
nofaith = sum(nofaith) / total
)
#----- save off data as TSV files -----
write.table(datraw, file = "C:/Data/R/religous_nones_gss_data_raw.tsv", sep = "\t", row.names = FALSE, quote = FALSE)
write.table(datcount, file = "C:/Data/R/religous_nones_gss_data_count.tsv", sep = "\t", row.names = FALSE, quote = FALSE)
write.table(datpercent, file = "C:/Data/R/religous_nones_gss_data_percent.tsv", sep = "\t", row.names = FALSE, quote = FALSE)
# tidy up the dataset for ggplot
tidydat <- gather(dpercent, key="denomination", value="count", -year, -total)
ggplot(tidydat, aes(x = year, y = count)) +
geom_line(aes(color=denomination))
Comments
0 B
|0 👍
/0 👎
0 B
|👍
/👎