Load required package:
library(tidyverse)
## ── Attaching packages ──────────────────────────────────────────────────────────────────────────────────────────── tidyverse 1.2.1 ──
## ✔ ggplot2 3.1.0 ✔ purrr 0.2.5
## ✔ tibble 2.0.0 ✔ dplyr 0.7.8
## ✔ tidyr 0.8.2 ✔ stringr 1.3.1
## ✔ readr 1.3.1 ✔ forcats 0.3.0
## ── Conflicts ─────────────────────────────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
pew <- read_csv("January 3-10, 2018 - Core Trends Survey/January 3-10, 2018 - Core Trends Survey - CSV.csv")
## Parsed with column specification:
## cols(
## .default = col_double(),
## usr = col_character(),
## `pial11ao@` = col_character()
## )
## See spec(...) for full column specifications.
pew <- pew %>%
mutate(youtube = as.factor(web1e)) %>%
mutate(youtube = fct_recode(youtube,
"Yes" = "1",
"No" = "2",
NULL = "8",
NULL = "9"))
pew <- pew %>%
mutate(education = as.factor(educ2)) %>%
mutate(education = fct_recode(education,
"Less than HS" = "1",
"Some HS" = "2",
"HS graduate" = "3",
"Some college" = "4",
"Associate degree" = "5",
"College degree" = "6",
"Some grad school" = "7",
"Grad degree" = "8",
NULL = "98",
NULL = "99"))
pew %>%
drop_na(education) %>%
count(education)
## # A tibble: 8 x 2
## education n
## <fct> <int>
## 1 Less than HS 66
## 2 Some HS 102
## 3 HS graduate 456
## 4 Some college 315
## 5 Associate degree 213
## 6 College degree 483
## 7 Some grad school 188
## 8 Grad degree 147
pew %>%
drop_na(youtube) %>%
count(youtube)
## # A tibble: 2 x 2
## youtube n
## <fct> <int>
## 1 Yes 1450
## 2 No 499
pew %>%
drop_na(youtube,education) %>%
count(education,youtube)
## # A tibble: 16 x 3
## education youtube n
## <fct> <fct> <int>
## 1 Less than HS Yes 34
## 2 Less than HS No 24
## 3 Some HS Yes 55
## 4 Some HS No 42
## 5 HS graduate Yes 309
## 6 HS graduate No 129
## 7 Some college Yes 217
## 8 Some college No 91
## 9 Associate degree Yes 141
## 10 Associate degree No 67
## 11 College degree Yes 399
## 12 College degree No 81
## 13 Some grad school Yes 157
## 14 Some grad school No 27
## 15 Grad degree Yes 122
## 16 Grad degree No 23
pew %>%
drop_na(education,youtube) %>%
ggplot(aes(x = education, fill = youtube)) +
scale_fill_viridis_d() +
geom_bar(position = "fill") +
coord_flip() +
labs(title = "Youtube use by education level")
pew <- pew %>%
mutate(education_simple = fct_collapse(education,college_degree = c("Associate degree","College degree","Some grad school","Grad degree"),no_college_degree = c("Less than HS","Some HS","HS graduate","Some college")))
pew %>%
drop_na(education_simple) %>%
count(education_simple)
## # A tibble: 2 x 2
## education_simple n
## <fct> <int>
## 1 no_college_degree 939
## 2 college_degree 1031
pew %>%
drop_na(education_simple,youtube) %>%
count(education_simple,youtube)
## # A tibble: 4 x 3
## education_simple youtube n
## <fct> <fct> <int>
## 1 no_college_degree Yes 615
## 2 no_college_degree No 286
## 3 college_degree Yes 819
## 4 college_degree No 198
pew %>%
drop_na(education,youtube) %>%
ggplot(aes(x = education_simple, fill = youtube)) +
scale_fill_viridis_d() +
geom_bar(position = "fill") +
coord_flip() +
labs(title = "Youtube use by education level")