-
-
Save ryanburge/7b1380e99e81a60362efae07496aea19 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
gg1 <- gss %>% | |
filter(year <= 2018) %>% | |
mutate(xmar = teensex) %>% | |
mutate(xmar = frcode(xmar == 4 ~ "Not Wrong", | |
xmar == 3 ~ "Sometimes", | |
xmar == 2 ~ "Almost Always", | |
xmar == 1 ~ "Always")) %>% | |
group_by(year) %>% | |
ct(xmar, wt = wtssall, show_na = FALSE) | |
gg2 <- gss %>% | |
filter(year > 2018) %>% | |
mutate(xmar = teensex) %>% | |
mutate(xmar = frcode(xmar == 4 ~ "Not Wrong", | |
xmar == 3 ~ "Sometimes", | |
xmar == 2 ~ "Almost Always", | |
xmar == 1 ~ "Always")) %>% | |
group_by(year) %>% | |
ct(xmar, wt = wtssnrps, show_na = FALSE) | |
both <- bind_rows(gg1, gg2) | |
both %>% | |
ggplot(., aes(x = year, y = pct, color = xmar, group = xmar)) + | |
geom_point(stroke = .75, shape = 21) + | |
geom_labelsmooth(aes(label = xmar), method = "loess", formula = y ~ x, family = "font", linewidth = 1, text_smoothing = 30, size = 6, linewidth = 1, boxlinewidth = 0.3, hjust = .75) + | |
y_pct() + | |
scale_color_manual(values = c("Not Wrong" = "#1b9e77", | |
"Sometimes" = "#d95f02", | |
"Almost Always" = "#7570b3", | |
"Always" = "#e7298a")) + | |
theme_rb() + | |
theme(plot.title = element_text(size = 14)) + | |
labs(x = "", y = "", title = "How Do You Feel About Sex Relations Between Unmarried 14 to 16 Year Olds?", | |
caption = "@ryanburge + @religiondata\nData: General Social Survey, 1986-2022") | |
save("teensex_gss22.png") | |
gg1 <- gss %>% | |
filter(year <= 2018) %>% | |
gss_reltrad6(reltrad) %>% | |
mutate(xmar = teensex) %>% | |
mutate(always = case_when(xmar == 1 ~ 1, | |
xmar == 2 | xmar == 3 | xmar == 4 ~ 0)) %>% | |
group_by(year, reltrad) %>% | |
mean_ci(always, wt = wtssall) | |
gg2 <- gss %>% | |
filter(year > 2018) %>% | |
gss_reltrad6(reltrad) %>% | |
mutate(xmar = teensex) %>% | |
mutate(always = case_when(xmar == 1 ~ 1, | |
xmar == 2 | xmar == 3 | xmar == 4 ~ 0)) %>% | |
group_by(year, reltrad) %>% | |
mean_ci(always, wt = wtssnrps) | |
both <- bind_rows(gg1, gg2) %>% na.omit() | |
labels <- both %>% | |
filter(year %in% c(1986, 2022)) %>% | |
mutate(label = scales::percent(mean, accuracy = 1)) | |
both %>% | |
ggplot(., aes(x = year, y = mean, color = reltrad)) + | |
geom_point(stroke = .5, shape = 21, alpha = .75) + | |
geom_smooth(se = FALSE) + | |
facet_wrap(~ reltrad) + | |
geom_text(data = labels, aes(label = label, y = mean - 0.02), | |
color = "black", size = 4, vjust = 1, family = "font") + | |
theme_rb() + | |
scale_y_continuous(labels = percent, limits = c(0, .90)) + | |
scale_color_manual(values = met.brewer("Java", 6)) + | |
labs(x = "", y = "", title = "Share Saying Sex Among Unmarried 14 to 16 Year Olds is Always Wrong", | |
caption = "@ryanburge + @religiondata\nData: General Social Survey, 1986-2022") | |
save("teensex_gss22_reltrad.png") | |
gg <- gss %>% | |
filter(year >= 2021) %>% | |
mutate(age2 = frcode(age >= 18 & age <= 35 ~ "18-\n35", | |
age >= 36 & age <= 44 ~ "36-\n44", | |
age >= 45 & age <= 54 ~ "45-\n54", | |
age >= 55 & age <= 64 ~ "55-\n64", | |
age >= 65 ~ "65+")) %>% | |
mutate(xmar = teensex) %>% | |
mutate(always = case_when(xmar == 1 ~ 1, | |
xmar == 2 | xmar == 3 | xmar == 4 ~ 0)) %>% | |
gss_reltrad6(reltrad) %>% | |
group_by(age2, reltrad) %>% | |
mean_ci(always, wt = wtssnrps, ci = .84) %>% na.omit() | |
gg %>% | |
ggplot(., aes(x = age2, y = mean, fill = reltrad)) + | |
geom_col(color = "black") + | |
theme_rb() + | |
facet_wrap(~ reltrad) + | |
error_bar() + | |
y_pct() + | |
lab_bar_white(type = mean, above = FALSE, pos = .05, sz = 6) + | |
scale_fill_manual(values = met.brewer("Java", 6)) + | |
labs(x = "Age of Respondent", y = "", title = "Share Saying Sex Among Unmarried 14 to 16 Year Olds is Always Wrong", | |
caption = "@ryanburge + @religiondata\nData: General Social Survey, 2021-2022") | |
save("teensex_age2_gss22.png", ht = 8) | |
gg <- gss %>% | |
filter(year >= 2021) %>% | |
mutate(gender = frcode(sex == 1 ~ "Men", | |
sex == 2 ~ "Women")) %>% | |
mutate(age2 = frcode(age >= 18 & age <= 35 ~ "18-\n35", | |
age >= 36 & age <= 44 ~ "36-\n44", | |
age >= 45 & age <= 54 ~ "45-\n54", | |
age >= 55 & age <= 64 ~ "55-\n64", | |
age >= 65 ~ "65+")) %>% | |
mutate(xmar = teensex) %>% | |
mutate(always = case_when(xmar == 1 ~ 1, | |
xmar == 2 | xmar == 3 | xmar == 4 ~ 0)) %>% | |
gss_reltrad6(reltrad) %>% | |
group_by(age2, reltrad, gender) %>% | |
mean_ci(always, wt = wtssnrps, ci = .84) %>% na.omit() | |
gg %>% | |
ggplot(., aes(x = age2, y = mean, fill = gender)) + | |
geom_col(color = "black", position = "dodge") + | |
theme_rb(legend = TRUE) + | |
facet_wrap(~ reltrad) + | |
error_bar() + | |
scale_y_continuous(labels = percent, limits = c(0, 1)) + | |
# lab_bar_white(type = mean, above = FALSE, pos = .05, sz = 4) + | |
scale_fill_calc() + | |
labs(x = "Age of Respondent", y = "", title = "Share Saying Sex Among Unmarried 14 to 16 Year Olds is Always Wrong", | |
caption = "@ryanburge + @religiondata\nData: General Social Survey, 2021-2022") | |
save("teensex_age2_gss22_gender.png", ht = 8) | |
gg1 <- gss %>% | |
filter(year <= 2018) %>% | |
mutate(birthyr = year - age) %>% | |
mutate(cohorts = frcode(birthyr >= 1940 & birthyr <= 1944 ~ "1940-1944", | |
birthyr >= 1945 & birthyr <= 1949 ~ "1945-1949", | |
birthyr >= 1950 & birthyr <= 1954 ~ "1950-1954", | |
birthyr >= 1955 & birthyr <= 1959 ~ "1955-1959", | |
birthyr >= 1960 & birthyr <= 1964 ~ "1960-1964", | |
birthyr >= 1965 & birthyr <= 1969 ~ "1965-1969", | |
birthyr >= 1970 & birthyr <= 1974 ~ "1970-1974", | |
birthyr >= 1975 & birthyr <= 1979 ~ "1975-1979", | |
birthyr >= 1980 & birthyr <= 1984 ~ "1980-1984", | |
birthyr >= 1985 & birthyr <= 1989 ~ "1985-1989", | |
birthyr >= 1990 & birthyr <= 1994 ~ "1990-1994", | |
birthyr >= 1995 & birthyr <= 2000 ~ "1995-2000")) %>% | |
mutate(xmar = teensex) %>% | |
mutate(xmar = case_when(xmar == 1 ~ 1, | |
xmar == 2 | xmar == 3 | xmar == 4 ~ 0)) %>% | |
group_by(cohorts, year) %>% | |
mean_ci(xmar, wt = wtssall) | |
gg2 <- gss %>% | |
filter(year > 2018) %>% | |
mutate(birthyr = year - age) %>% | |
mutate(cohorts = frcode(birthyr >= 1940 & birthyr <= 1944 ~ "1940-1944", | |
birthyr >= 1945 & birthyr <= 1949 ~ "1945-1949", | |
birthyr >= 1950 & birthyr <= 1954 ~ "1950-1954", | |
birthyr >= 1955 & birthyr <= 1959 ~ "1955-1959", | |
birthyr >= 1960 & birthyr <= 1964 ~ "1960-1964", | |
birthyr >= 1965 & birthyr <= 1969 ~ "1965-1969", | |
birthyr >= 1970 & birthyr <= 1974 ~ "1970-1974", | |
birthyr >= 1975 & birthyr <= 1979 ~ "1975-1979", | |
birthyr >= 1980 & birthyr <= 1984 ~ "1980-1984", | |
birthyr >= 1985 & birthyr <= 1989 ~ "1985-1989", | |
birthyr >= 1990 & birthyr <= 1994 ~ "1990-1994", | |
birthyr >= 1995 & birthyr <= 2000 ~ "1995-2000")) %>% | |
mutate(xmar = teensex) %>% | |
mutate(xmar = case_when(xmar == 1 ~ 1, | |
xmar == 2 | xmar == 3 | xmar == 4 ~ 0)) %>% | |
group_by(cohorts, year) %>% | |
mean_ci(xmar, wt = wtssnrps) | |
both1 <- bind_rows(gg1, gg2) %>% na.omit() %>% mutate(type = "Teen Sex") | |
gg1 <- gss %>% | |
filter(year <= 2018) %>% | |
mutate(birthyr = year - age) %>% | |
mutate(cohorts = frcode(birthyr >= 1940 & birthyr <= 1944 ~ "1940-1944", | |
birthyr >= 1945 & birthyr <= 1949 ~ "1945-1949", | |
birthyr >= 1950 & birthyr <= 1954 ~ "1950-1954", | |
birthyr >= 1955 & birthyr <= 1959 ~ "1955-1959", | |
birthyr >= 1960 & birthyr <= 1964 ~ "1960-1964", | |
birthyr >= 1965 & birthyr <= 1969 ~ "1965-1969", | |
birthyr >= 1970 & birthyr <= 1974 ~ "1970-1974", | |
birthyr >= 1975 & birthyr <= 1979 ~ "1975-1979", | |
birthyr >= 1980 & birthyr <= 1984 ~ "1980-1984", | |
birthyr >= 1985 & birthyr <= 1989 ~ "1985-1989", | |
birthyr >= 1990 & birthyr <= 1994 ~ "1990-1994", | |
birthyr >= 1995 & birthyr <= 2000 ~ "1995-2000")) %>% | |
mutate(xmar = xmarsex) %>% | |
mutate(xmar = case_when(xmar == 1 ~ 1, | |
xmar == 2 | xmar == 3 | xmar == 4 ~ 0)) %>% | |
group_by(cohorts, year) %>% | |
mean_ci(xmar, wt = wtssall) | |
gg2 <- gss %>% | |
filter(year > 2018) %>% | |
mutate(birthyr = year - age) %>% | |
mutate(cohorts = frcode(birthyr >= 1940 & birthyr <= 1944 ~ "1940-1944", | |
birthyr >= 1945 & birthyr <= 1949 ~ "1945-1949", | |
birthyr >= 1950 & birthyr <= 1954 ~ "1950-1954", | |
birthyr >= 1955 & birthyr <= 1959 ~ "1955-1959", | |
birthyr >= 1960 & birthyr <= 1964 ~ "1960-1964", | |
birthyr >= 1965 & birthyr <= 1969 ~ "1965-1969", | |
birthyr >= 1970 & birthyr <= 1974 ~ "1970-1974", | |
birthyr >= 1975 & birthyr <= 1979 ~ "1975-1979", | |
birthyr >= 1980 & birthyr <= 1984 ~ "1980-1984", | |
birthyr >= 1985 & birthyr <= 1989 ~ "1985-1989", | |
birthyr >= 1990 & birthyr <= 1994 ~ "1990-1994", | |
birthyr >= 1995 & birthyr <= 2000 ~ "1995-2000")) %>% | |
mutate(xmar = xmarsex) %>% | |
mutate(xmar = case_when(xmar == 1 ~ 1, | |
xmar == 2 | xmar == 3 | xmar == 4 ~ 0)) %>% | |
group_by(cohorts, year) %>% | |
mean_ci(xmar, wt = wtssnrps) | |
both2 <- bind_rows(gg1, gg2) %>% mutate(type = "Extramarital Sex") | |
both <- bind_rows(both1, both2) | |
both %>% | |
filter(cohorts != "NA") %>% | |
ggplot(., aes(x = year, y =mean, color = type, group = type)) + | |
geom_point(stroke = .5, shape = 21, alpha = 1) + | |
geom_smooth(se = FALSE, method = "lm", formula = y ~ poly(x, 2)) + | |
facet_wrap(~ cohorts) + | |
scale_color_calc() + | |
theme_rb(legend = TRUE) + | |
y_pct() + | |
theme(legend.text = element_text(size = 22)) + | |
labs(x = "", y = "", title = "Share Saying Each Type of Sexual Behavior is Always Wrong", caption = "@ryanburge + @religiondata\nData: General Social Survey, 1973-2022") | |
save("compare_sex_birth_cohort.png", ht = 9) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment