-
-
Save ryanburge/ccc0d355069ca59742785282e2b5a424 to your computer and use it in GitHub Desktop.
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
aaa1 <- gss %>% | |
filter(year == 1989 | year == 1990 | year == 1991 | year == 1993) %>% | |
group_by(age) %>% | |
mutate(never = case_when(sexfreq == 2 | sexfreq == 3 | sexfreq == 4 | sexfreq == 5 | sexfreq == 6 ~ 1, | |
sexfreq == 0 | sexfreq == 1 ~ 0)) %>% | |
group_by(age) %>% | |
mean_ci(never, wt = wtssall, ci = .84) %>% | |
na.omit() %>% | |
mutate(year = "1989 to 1993") | |
one <- gss %>% | |
filter(year == 2016 | year == 2018) %>% | |
select(age, sexfreq, weight = wtssall) | |
two <- gss %>% | |
filter(year == 2021 | year == 2022) %>% | |
select(age, sexfreq, weight = wtssnrps) | |
both <- bind_rows(one, two) | |
aaa2 <- both %>% | |
mutate(never = case_when(sexfreq == 2 | sexfreq == 3 | sexfreq == 4 | sexfreq == 5 | sexfreq == 6 ~ 1, | |
sexfreq == 0 | sexfreq == 1 ~ 0)) %>% | |
group_by(age) %>% | |
mean_ci(never, wt = weight, ci = .84) %>% | |
na.omit() %>% | |
mutate(year = "2016 to 2022") | |
graph <- bind_rows(aaa1, aaa2) | |
graph %>% | |
filter(age <= 65) %>% | |
ggplot(., aes(x = age, y = mean, color = year, group = year)) + | |
geom_point(stroke = .5, shape = 21, alpha = .5) + | |
geom_labelsmooth(aes(label = year), method = "loess", formula = y ~ x, family = "font", linewidth = 1, text_smoothing = 30, size = 4, linewidth = 1, boxlinewidth = 0.3) + | |
scale_color_calc() + | |
theme_rb() + | |
y_pct() + | |
labs(x = "Age", y = "", title = "Share Having Sex At Least Once a Month Over the Last Year", caption = "@ryanburge\nData: General Social Survey, 1989-2022") | |
save("gss_age_sex_freq.png") | |
yyy1 <- gss %>% | |
gss_reltrad6(reltrad) %>% | |
filter(year <= 2018) %>% | |
group_by(year, reltrad) %>% | |
mutate(never = case_when(sexfreq == 2 | sexfreq == 3 | sexfreq == 4 | sexfreq == 5 | sexfreq == 6 ~ 1, | |
sexfreq == 0 | sexfreq == 1 ~ 0)) %>% | |
mean_ci(never, wt = wtssall, ci = .84) %>% | |
na.omit() | |
yyy2 <- gss %>% | |
gss_reltrad6(reltrad) %>% | |
filter(year >= 2021) %>% | |
group_by(year, reltrad) %>% | |
mutate(never = case_when(sexfreq == 2 | sexfreq == 3 | sexfreq == 4 | sexfreq == 5 | sexfreq == 6 ~ 1, | |
sexfreq == 0 | sexfreq == 1 ~ 0)) %>% | |
mean_ci(never, wt = wtssnrps, ci = .84) %>% | |
na.omit() | |
graph <- bind_rows(yyy1, yyy2) | |
graph %>% | |
mutate(lab = round(mean, 2)) %>% | |
filter(year == 1989 | year == 2008 | year == 2018 | year == 2021 | year == 2022) %>% | |
ggplot(., aes(x = factor(year), y = mean, fill = factor(year))) + | |
geom_col(color = "black", position = "dodge") + | |
error_bar() + | |
facet_wrap(~ reltrad) + | |
y_pct() + | |
scale_fill_manual(values = c(moma.colors("OKeeffe", 5))) + | |
lab_bar(top = FALSE, type = lab, pos = .065, sz = 6) + | |
geom_text(aes(y = .065, label = ifelse(year == 2021 | year == 2022, paste0(lab*100, '%'), "")), position = position_dodge(width = .9), size = 6, family = "font", color = "white") + | |
theme_rb() + | |
labs(x = "Year", y = "", title = "Share Having Sex At Least Once a Month Over the Last Year", caption = "@ryanburge\nData: GSS 1989-2022") | |
save("monthly_sex22.png") | |
## 74% in 1989 | |
## 72% in 2008 | |
## 67% in 2018 | |
## 63% in 2021 | |
## 65% in 2022 | |
aaa1 <- gss %>% | |
filter(year == 1989 | year == 1990 | year == 1991 | year == 1993) %>% | |
filter(age >= 25 & age <= 50) %>% | |
gss_reltrad6(reltrad) %>% | |
group_by(reltrad) %>% | |
mutate(never = case_when(sexfreq == 2 | sexfreq == 3 | sexfreq == 4 | sexfreq == 5 | sexfreq == 6 ~ 1, | |
sexfreq == 0 | sexfreq == 1 ~ 0)) %>% | |
mean_ci(never, wt = wtssall, ci = .84) %>% | |
na.omit() %>% | |
mutate(year = "1989-\n1993") | |
one <- gss %>% | |
filter(year == 2016 | year == 2018) %>% | |
select(age, sexfreq, weight = wtssall, reltrad) | |
two <- gss %>% | |
filter(year == 2021 | year == 2022) %>% | |
select(age, sexfreq, weight = wtssnrps, reltrad) | |
both <- bind_rows(one, two) | |
aaa2 <- both %>% | |
filter(age >= 25 & age <= 50) %>% | |
gss_reltrad6(reltrad) %>% | |
group_by(reltrad) %>% | |
mutate(never = case_when(sexfreq == 2 | sexfreq == 3 | sexfreq == 4 | sexfreq == 5 | sexfreq == 6 ~ 1, | |
sexfreq == 0 | sexfreq == 1 ~ 0)) %>% | |
mean_ci(never, wt = weight, ci = .84) %>% | |
na.omit() %>% | |
mutate(year = "2016-\n2022") | |
graph <- bind_rows(aaa1, aaa2) | |
graph %>% | |
mutate(lab = round(mean, 2)) %>% | |
ggplot(., aes(x = year, y = mean, fill= year)) + | |
geom_col(color = "black") + | |
facet_wrap(~ reltrad) + | |
theme_rb() + | |
scale_fill_d3() + | |
error_bar() + | |
y_pct() + | |
lab_bar(top = FALSE, type = lab, pos = .085, sz = 7) + | |
geom_text(aes(y = .085, label = ifelse(year == "1989-\n1993", paste0(lab*100, '%'), "")), position = position_dodge(width = .9), size = 7, family = "font", color = "white") + | |
theme(plot.title = element_text(size = 13)) + | |
labs(x = "Years", y = "", title = "Share Having Sex At Least Once a Month Over the Last Year", subtitle = "25-50 Year Olds", caption = "@ryanburge\nData: GSS 1989-2022") | |
save("sex_freq_reltrad.png", wd = 5) | |
aaa1 <- gss %>% | |
filter(year == 1989 | year == 1990 | year == 1991 | year == 1993) %>% | |
filter(age >= 25 & age <= 50) %>% | |
gss_attend(attend) %>% | |
group_by(att) %>% | |
mutate(never = case_when(sexfreq == 2 | sexfreq == 3 | sexfreq == 4 | sexfreq == 5 | sexfreq == 6 ~ 1, | |
sexfreq == 0 | sexfreq == 1 ~ 0)) %>% | |
mean_ci(never, wt = wtssall, ci = .84) %>% | |
na.omit() %>% | |
mutate(year = "1989-\n1993") | |
one <- gss %>% | |
filter(year == 2016 | year == 2018) %>% | |
select(age, sexfreq, weight = wtssall, attend) | |
two <- gss %>% | |
filter(year == 2021 | year == 2022) %>% | |
select(age, sexfreq, weight = wtssnrps, attend) | |
both <- bind_rows(one, two) | |
aaa2 <- both %>% | |
filter(age >= 25 & age <= 50) %>% | |
gss_attend(attend) %>% | |
group_by(att) %>% | |
mutate(never = case_when(sexfreq == 2 | sexfreq == 3 | sexfreq == 4 | sexfreq == 5 | sexfreq == 6 ~ 1, | |
sexfreq == 0 | sexfreq == 1 ~ 0)) %>% | |
mean_ci(never, wt = weight, ci = .84) %>% | |
na.omit() %>% | |
mutate(year = "2016-\n2022") | |
graph <- bind_rows(aaa1, aaa2) | |
graph %>% | |
mutate(lab = round(mean, 2)) %>% | |
ggplot(., aes(x = year, y = mean, fill= year)) + | |
geom_col(color = "black") + | |
facet_wrap(~ att) + | |
theme_rb() + | |
scale_fill_calc() + | |
error_bar() + | |
y_pct() + | |
lab_bar(top = FALSE, type = lab, pos = .085, sz = 7) + | |
geom_text(aes(y = .085, label = ifelse(year == "1989-\n1993", paste0(lab*100, '%'), "")), position = position_dodge(width = .9), size = 7, family = "font", color = "white") + | |
theme(plot.title = element_text(size = 13)) + | |
labs(x = "Years", y = "", title = "Share Having Sex At Least Once a Month Over the Last Year", subtitle = "25-50 Year Olds", caption = "@ryanburge\nData: GSS 1989-2022") | |
save("sex_freq_att.png", wd = 5) | |
aaa1 <- gss %>% | |
mutate(mar = frcode(marital == 1 ~ "Married", | |
marital == 2 | marital == 3 | marital == 4 | marital == 5 ~ "Not Married")) %>% | |
filter(year == 1989 | year == 1990 | year == 1991 | year == 1993) %>% | |
group_by(age) %>% | |
mutate(never = case_when(sexfreq == 2 | sexfreq == 3 | sexfreq == 4 | sexfreq == 5 | sexfreq == 6 ~ 1, | |
sexfreq == 0 | sexfreq == 1 ~ 0)) %>% | |
group_by(age, mar) %>% | |
mean_ci(never, wt = wtssall, ci = .84) %>% | |
na.omit() %>% | |
mutate(year = "1989 to 1993") | |
one <- gss %>% | |
filter(year == 2016 | year == 2018) %>% | |
select(age, sexfreq, weight = wtssall, marital) | |
two <- gss %>% | |
filter(year == 2021 | year == 2022) %>% | |
select(age, sexfreq, weight = wtssnrps, marital) | |
both <- bind_rows(one, two) | |
aaa2 <- both %>% | |
mutate(mar = frcode(marital == 1 ~ "Married", | |
marital == 2 | marital == 3 | marital == 4 | marital == 5 ~ "Not Married")) %>% | |
mutate(never = case_when(sexfreq == 2 | sexfreq == 3 | sexfreq == 4 | sexfreq == 5 | sexfreq == 6 ~ 1, | |
sexfreq == 0 | sexfreq == 1 ~ 0)) %>% | |
group_by(age, mar) %>% | |
mean_ci(never, wt = weight, ci = .84) %>% | |
na.omit() %>% | |
mutate(year = "2016 to 2022") | |
graph <- bind_rows(aaa1, aaa2) | |
graph %>% | |
filter(age <= 65) %>% | |
ggplot(., aes(x = age, y = mean, color = year, group = year)) + | |
geom_point(stroke = .5, shape = 21, alpha = .5) + | |
geom_smooth(se = FALSE) + | |
scale_color_calc() + | |
facet_wrap(~ mar) + | |
theme_rb(legend = TRUE) + | |
y_pct() + | |
theme(strip.text = element_text(size = 20)) + | |
labs(x = "Age", y = "", title = "Share Having Sex At Least Once a Month Over the Last Year", caption = "@ryanburge\nData: General Social Survey, 1989-2022") | |
save("gss_age_sex_freq_marital.png") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment