moriah_test_data_pew_2

library(haven)
library(readr)
library(ggplot2)
library(tidyr)
library(dplyr)

Attaching package: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union
library(stringr)
pew_1 <- read_csv("PEW_ATP_W144 copy.csv")
Rows: 10454 Columns: 195
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
dbl  (193): QKEY, DEVICE_TYPE_W144, LANG_W144, XRAND_FB_IG_W144, SMUSE_a_W14...
dttm   (2): INTERVIEW_START_W144, INTERVIEW_END_W144

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
pew_2 <- read_sav("ATP W112.sav")
# cleaning data pew 2
pew_2_clean <- pew_2 %>%
  select(QKEY, GROUP_TRUST_d_W112, NEWSPLAT_d_W112, NEWSPLAT_DIG_a_W112, PLATFORM_PREFER_W112, SOCIALNEWS2_a_W112, SOCIALNEWS2_b_W112, SOCIALNEWS2_c_W112, SOCIALNEWS2_d_W112, SOCIALNEWS2_e_W112, SOCIALNEWS2_i_W112, F_AGECAT, F_CDIVISION) %>%
  mutate(
    trust_social_media = as.character(GROUP_TRUST_d_W112), 
    news_source_frequency = NEWSPLAT_d_W112, 
    news_type_online = NEWSPLAT_DIG_a_W112,
    platform_preference = PLATFORM_PREFER_W112, 
    Facebook = as.character(SOCIALNEWS2_a_W112), 
    Youtube = as.character(SOCIALNEWS2_b_W112), 
    Instagram = as.character(SOCIALNEWS2_d_W112),
    X = as.character(SOCIALNEWS2_c_W112),
    Snapchat = as.character(SOCIALNEWS2_e_W112), 
    Tiktok = as.character(SOCIALNEWS2_i_W112),
    Age = as.character(F_AGECAT),
    Census_division = as.character(F_CDIVISION)
  ) %>%
  select(trust_social_media, 
         news_source_frequency,
         news_type_online,
         platform_preference,
         Facebook,
         Youtube,
         X,
         Instagram,
         Snapchat,
         Tiktok,
         Age, 
         Census_division
  )
# EDA experimentation

pew_2_reformatted <- pew_2_clean %>%
  pivot_longer(
    cols = Facebook:Tiktok, 
         names_to = "platform", 
         values_to = "usage") %>%
  filter(usage != "NA" | usage != "99") %>%
  mutate(usage = case_when(
    usage == 1 ~ "regular news source", 
    usage == 2 ~ "not a regular news source"
  ))


pew_2_reformatted <- pew_2_clean %>%
  pivot_longer(
    cols = Facebook:Tiktok, 
         names_to = "platform", 
         values_to = "usage") %>%
  filter(trust_social_media != "NA" & usage != "NA") %>%
  mutate(trust_social_media = case_when(
    trust_social_media == 1 ~ "A lot", 
    trust_social_media == 2 ~ "Some",
    trust_social_media == 3 ~ "Not too much", 
    trust_social_media == 4 ~ "Not at all"
  )) %>%
  group_by(platform)

ggplot(pew_2_reformatted) +
  geom_bar(aes(x = platform, fill = trust_social_media)) + 
  scale_fill_brewer(palette = "Set2") +
  theme_minimal() +
  labs(
    x = "Platform Type", 
    y = "Response Count", 
    title = "User-Indicated Reliability of Popular Platforms",
    fill = "Reliability"
  )

pew_Q4 <- pew_2_reformatted %>%
  group_by(Age) %>%
  mutate(usage = case_when(
    usage == 1 ~ "Yes",
    usage == 2 ~ "No"
  )) %>%
  filter(
    Age != "99"
  ) %>%
  group_by(Age, platform) %>%
  summarize(
    count = n()
  )
`summarise()` has grouped output by 'Age'. You can override using the `.groups`
argument.
ggplot(pew_Q4, aes(x = Age, y = count, color = platform, group = platform)) +
  geom_point() +
  geom_line()

library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ forcats   1.0.1     ✔ purrr     1.2.0
✔ lubridate 1.9.4     ✔ tibble    3.3.0
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(dplyr)
library(stringr)
library(ggplot2)
pew <- read_csv("PEW_ATP_W144 copy.csv")
Rows: 10454 Columns: 195
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
dbl  (193): QKEY, DEVICE_TYPE_W144, LANG_W144, XRAND_FB_IG_W144, SMUSE_a_W14...
dttm   (2): INTERVIEW_START_W144, INTERVIEW_END_W144

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
pew <- pew |>
  rename(
    SMUSE_FB = SMUSE_a_W144,
    SMUSE_X = SMUSE_c_W144,
    SMUSE_IG = SMUSE_d_W144,
    SMUSE_TikTok = SMUSE_i_W144,
    
    SMUSE2_often_use_FB = SMUSE2_a_W144,
    SMUSE2_often_use_X = SMUSE2_c_W144, 
    SMUSE2_often_use_IG = SMUSE2_d_W144,
    SMUSE2_often_use_TikTok = SMUSE2_i_W144,
    
    SOCIALNEWS2_FB = SOCIALNEWS2_a_W144,
    SOCIALNEWS2_X = SOCIALNEWS2_c_W144,
    SOCIALNEWS2_IG = SOCIALNEWS2_d_W144,
    SOCIALNEWS2_TikTok = SOCIALNEWS2_i_W144,
    SOCIALNEWS2_all = DOV_USE4_W144,
    
    FBWHY_news = FBWHY_a_W144,
    FBWHY_politics = FBWHY_b_W144,
    FBWHY_sports_popculture = FBWHY_c_W144,
    FBWHY_entertaining = FBWHY_d_W144,
    FBWHY_FF = FBWHY_e_W144,
    FBWHY_connect = FBWHY_f_W144,
    FBWHY_reviews_recs = FBWHY_g_W144,
    
    FBSOURCE_NOJ = FBSOURCE_a_W144,
    FBSOURCE_FF = FBSOURCE_b_W144,
    FBSOURCE_AC = FBSOURCE_c_W144,
    FBSOURCE_A_NPO = FBSOURCE_d_W144,
    FBSOURCE_other = FBSOURCE_e_W144,
    
    FBTYPE_funny = FBTYPE_a_W144,
    FBTYPE_news = FBTYPE_b_W144,
    FBTYPE_op = FBTYPE_c_W144,
    FBTYPE_info = FBTYPE_d_W144,
    
    FBWHYSP_welcomed = FBWHYSP_a_W144,
    FBWHYSP_make_diff = FBWHYSP_b_W144,
    FBWHYSP_politics = FBWHYSP_c_W144,
    FBWHYSP_do_some = FBWHYSP_d_W144,
    
    FBWHYNTSP_crit = FBWHYNTSP_a_W144,
    FBWHYNTSP_no_diff = FBWHYNTSP_b_W144,
    FBWHYNTSP_no_politics = FBWHYNTSP_c_W144,
    FBWHYNTSP_idc = FBWHYNTSP_d_W144,
    
    IGWHY_news = IGWHY_a_W144,
    IGWHY_politics = IGWHY_b_W144,
    IGWHY_sports_popculture = IGWHY_c_W144,
    IGWHY_entertaining = IGWHY_d_W144,
    IGWHY_FF = IGWHY_e_W144,
    IGWHY_connect = IGWHY_f_W144,
    IGWHY_reviews_recs = IGWHY_g_W144,
    
    IGSOURCE_NOJ = IGSOURCE_a_W144,
    IGGSOURCE_FF = IGSOURCE_b_W144,
    IGSOURCE_AC = IGSOURCE_c_W144,
    IGSOURCE_A_NPO = IGSOURCE_d_W144,
    IGSOURCE_other = IGSOURCE_e_W144,
    
    IGTYPE_funny = IGTYPE_a_W144,
    IGTYPE_news = IGTYPE_b_W144,
    IGTYPE_op = IGTYPE_c_W144,
    IGTYPE_info = IGTYPE_d_W144,
    
    IGWHYSP_welcomed = IGWHYSP_a_W144,
    IGWHYSP_make_diff = IGWHYSP_b_W144,
    IGWHYSP_politics = IGWHYSP_c_W144,
    IGWHYSP_do_some = IGWHYSP_d_W144,
    
    IGWHYNTSP_crit = IGWHYNTSP_a_W144,
    IGWHYNTSP_no_diff = IGWHYNTSP_b_W144,
    IGWHYNTSP_no_politics = IGWHYNTSP_c_W144,
    IGWHYNTSP_idc = IGWHYNTSP_d_W144,
    
    XTWHY_news = XTWHY_a_W144,
    XTWHY_politics = XTWHY_b_W144,
    XTWHY_sports_popculture = XTWHY_c_W144,
    XTWHY_entertaining = XTWHY_d_W144,
    XTWHY_FF = XTWHY_e_W144,
    XTWHY_connect = XTWHY_f_W144,
    XTWHY_reviews_recs = XTWHY_g_W144,
    
    XTSOURCE_NOJ = XTSOURCE_a_W144,
    XTSOURCE_FF = XTSOURCE_b_W144,
    XTSOURCE_AC = XTSOURCE_c_W144,
    XTSOURCE_A_NPO = XTSOURCE_d_W144,
    XTSOURCE_other = XTSOURCE_e_W144,
    
    XTTYPE_funny = XTTYPE_a_W144,
    XTTYPE_news = XTTYPE_b_W144,
    XTTYPE_op = XTTYPE_c_W144,
    XTTYPE_info = XTTYPE_d_W144,
    
    XTWHYSP_welcomed = XTWHYSP_a_W144,
    XTWHYSP_make_diff = XTWHYSP_b_W144,
    XTWHYSP_politics = XTWHYSP_c_W144,
    XTWHYSP_do_some = XTWHYSP_d_W144,
    
    XTWHYNTSP_crit = XTWHYNTSP_a_W144,
    XTWHYNTSP_no_diff = XTWHYNTSP_b_W144,
    XTWHYNTSP_no_politics = XTWHYNTSP_c_W144,
    XTWHYNTSP_idc = XTWHYNTSP_d_W144,
    
    XTWHY_news = XTWHY_a_W144,
    XTWHY_politics = XTWHY_b_W144,
    XTWHY_sports_popculture = XTWHY_c_W144,
    XTWHY_entertaining = XTWHY_d_W144,
    XTWHY_FF = XTWHY_e_W144,
    XTWHY_connect = XTWHY_f_W144,
    XTWHY_reviews_recs = XTWHY_g_W144,
    
    XTWHY_news = XTWHY_a_W144,
    XTWHY_politics = XTWHY_b_W144,
    XTWHY_sports_popculture = XTWHY_c_W144,
    XTWHY_entertaining = XTWHY_d_W144,
    XTWHY_FF = XTWHY_e_W144,
    XTWHY_connect = XTWHY_f_W144,
    XTWHY_reviews_recs = XTWHY_g_W144,
    
    XTSOURCE_NOJ = XTSOURCE_a_W144,
    XTSOURCE_FF = XTSOURCE_b_W144,
    XTSOURCE_AC = XTSOURCE_c_W144,
    XTSOURCE_A_NPO = XTSOURCE_d_W144,
    XTSOURCE_other = XTSOURCE_e_W144,
    
    XTTYPE_funny = XTTYPE_a_W144,
    XTTYPE_news = XTTYPE_b_W144,
    XTTYPE_op = XTTYPE_c_W144,
    XTTYPE_info = XTTYPE_d_W144,
    
    XTWHYSP_welcomed = XTWHYSP_a_W144,
    XTWHYSP_make_diff = XTWHYSP_b_W144,
    XTWHYSP_politics = XTWHYSP_c_W144,
    XTWHYSP_do_some = XTWHYSP_d_W144,
    
    XTWHYNTSP_crit = XTWHYNTSP_a_W144,
    XTWHYNTSP_no_diff = XTWHYNTSP_b_W144,
    XTWHYNTSP_no_politics = XTWHYNTSP_c_W144,
    XTWHYNTSP_idc = XTWHYNTSP_d_W144,
    
    XTWHY_news = XTWHY_a_W144,
    XTWHY_politics = XTWHY_b_W144,
    XTWHY_sports_popculture = XTWHY_c_W144,
    XTWHY_entertaining = XTWHY_d_W144,
    XTWHY_FF = XTWHY_e_W144,
    XTWHY_connect = XTWHY_f_W144,
    XTWHY_reviews_recs = XTWHY_g_W144,
    
    TTWHY_news = TTWHY_a_W144,
    TTWHY_politics = TTWHY_b_W144,
    TTWHY_sports_popculture = TTWHY_c_W144,
    TTWHY_entertaining = TTWHY_d_W144,
    TTWHY_FF = TTWHY_e_W144,
    TTWHY_connect = TTWHY_f_W144,
    TTWHY_reviews_recs = TTWHY_g_W144,
    
    TTSOURCE_NOJ = TTSOURCE_a_W144,
    TTSOURCE_FF = TTSOURCE_b_W144,
    TTSOURCE_AC = TTSOURCE_c_W144,
    TTSOURCE_A_NPO = TTSOURCE_d_W144,
    TTSOURCE_other = TTSOURCE_e_W144,
    
    TTTYPE_funny = TTTYPE_a_W144,
    TTTYPE_news = TTTYPE_b_W144,
    TTTYPE_op = TTTYPE_c_W144,
    TTTYPE_info = TTTYPE_d_W144,
    
    TTWHYSP_welcomed = TTWHYSP_a_W144,
    TTWHYSP_make_diff = TTWHYSP_b_W144,
    TTWHYSP_politics = TTWHYSP_c_W144,
    TTWHYSP_do_some = TTWHYSP_d_W144,
    
    TTWHYNTSP_crit = TTWHYNTSP_a_W144,
    TTWHYNTSP_no_diff = TTWHYNTSP_b_W144,
    TTWHYNTSP_no_politics = TTWHYNTSP_c_W144,
    TTWHYNTSP_idc = TTWHYNTSP_d_W144,
    
    TTWHY_news = TTWHY_a_W144,
    TTWHY_politics = TTWHY_b_W144,
    TTWHY_sports_popculture = TTWHY_c_W144,
    TTWHY_entertaining = TTWHY_d_W144,
    TTWHY_FF = TTWHY_e_W144,
    TTWHY_connect = TTWHY_f_W144,
    TTWHY_reviews_recs = TTWHY_g_W144,
)

pew$INTERVIEW_START_W144 <- NULL
pew$INTERVIEW_END_W144 <- NULL
pew$LANG_W144 <- NULL
pew$WEIGHT_W144 <- NULL
pew$WEIGHT_W144_FB <- NULL
pew$WEIGHT_W144_IG <- NULL
pew$WEIGHT_W144_XT <- NULL
pew$WEIGHT_W144_TT <- NULL

glimpse(pew)
Rows: 10,454
Columns: 187
$ QKEY                    <dbl> 100363, 100598, 100637, 100803, 101437, 101493…
$ DEVICE_TYPE_W144        <dbl> 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 1…
$ XRAND_FB_IG_W144        <dbl> 2, 1, 1, 1, 1, 2, 2, 1, 1, 2, 1, 1, 2, 2, 2, 1…
$ SMUSE_FB                <dbl> 1, 2, 1, 1, 1, 2, 1, 1, 2, 2, 2, 1, 2, 1, 1, 1…
$ SMUSE_X                 <dbl> 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 1, 2, 2, 99, …
$ SMUSE_IG                <dbl> 1, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 1, 99, …
$ SMUSE_TikTok            <dbl> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 99, …
$ SMUSE2_often_use_FB     <dbl> 2, NA, 4, 4, 2, NA, 3, 6, NA, NA, NA, 6, NA, 4…
$ SMUSE2_often_use_X      <dbl> NA, NA, NA, NA, 4, 3, NA, NA, NA, NA, NA, 5, N…
$ SMUSE2_often_use_IG     <dbl> 4, NA, NA, NA, NA, NA, 4, NA, NA, NA, NA, 6, N…
$ SMUSE2_often_use_TikTok <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 3,…
$ SOCIALNEWS2_FB          <dbl> 2, NA, 2, 2, 2, NA, 2, 2, NA, NA, NA, 2, NA, 2…
$ SOCIALNEWS2_X           <dbl> NA, NA, NA, NA, 2, 1, NA, NA, NA, NA, NA, 2, N…
$ SOCIALNEWS2_IG          <dbl> 2, NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, 2, N…
$ SOCIALNEWS2_TikTok      <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 2,…
$ SOCIALNEWS2_all         <dbl> 0, NA, 0, 0, 0, 0, 0, 0, NA, NA, NA, 1, NA, 0,…
$ DOV_ASKFB_W144          <dbl> 1, NA, 1, 1, 1, 0, 1, 1, NA, NA, NA, 1, NA, 1,…
$ DOV_ASKIG_W144          <dbl> 1, NA, 0, 0, 0, 0, 1, 0, NA, NA, NA, 0, NA, 1,…
$ FBWHY_news              <dbl> 3, NA, 3, 3, 2, NA, 3, 3, NA, NA, NA, 3, NA, 3…
$ FBWHY_politics          <dbl> 3, NA, 3, 3, 2, NA, 3, 3, NA, NA, NA, 3, NA, 3…
$ FBWHY_sports_popculture <dbl> 2, NA, 3, 3, 3, NA, 3, 3, NA, NA, NA, 3, NA, 2…
$ FBWHY_entertaining      <dbl> 1, NA, 3, 3, 3, NA, 2, 3, NA, NA, NA, 2, NA, 3…
$ FBWHY_FF                <dbl> 1, NA, 1, 1, 1, NA, 1, 3, NA, NA, NA, 1, NA, 1…
$ FBWHY_connect           <dbl> 2, NA, 2, 2, 2, NA, 1, 3, NA, NA, NA, 2, NA, 3…
$ FBWHY_reviews_recs      <dbl> 3, NA, 3, 3, 3, NA, 3, 3, NA, NA, NA, 3, NA, 3…
$ FBDEMOCRACY_W144        <dbl> 1, NA, 2, 1, 3, NA, 2, 2, NA, NA, NA, 1, NA, 2…
$ FBSOURCE_NOJ            <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ FBSOURCE_FF             <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ FBSOURCE_AC             <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ FBSOURCE_A_NPO          <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ FBSOURCE_other          <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ FBTYPE_funny            <dbl> 1, NA, 1, 2, 1, NA, 1, 2, NA, NA, NA, 1, NA, 1…
$ FBTYPE_news             <dbl> 1, NA, 2, 2, 1, NA, 1, 2, NA, NA, NA, 1, NA, 1…
$ FBTYPE_op               <dbl> 1, NA, 1, 2, 1, NA, 1, 2, NA, NA, NA, 1, NA, 1…
$ FBTYPE_info             <dbl> 1, NA, 2, 1, 1, NA, 2, 2, NA, NA, NA, 1, NA, 2…
$ FBACC_W144              <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ FBINFLUENCE_W144        <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ FBELSE_W144             <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ FBWORN_W144             <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ FBHARASS_W144           <dbl> 2, NA, 3, 2, 1, NA, 2, 3, NA, NA, NA, 3, NA, 2…
$ FBSHARE_W144            <dbl> 1, NA, 1, 1, 1, NA, 2, 2, NA, NA, NA, 1, NA, 1…
$ FBSHAREPOL_W144         <dbl> 5, NA, 5, 5, 3, NA, NA, NA, NA, NA, NA, 5, NA,…
$ FBWHYSP_welcomed        <dbl> NA, NA, NA, NA, 3, NA, NA, NA, NA, NA, NA, NA,…
$ FBWHYSP_make_diff       <dbl> NA, NA, NA, NA, 2, NA, NA, NA, NA, NA, NA, NA,…
$ FBWHYSP_politics        <dbl> NA, NA, NA, NA, 3, NA, NA, NA, NA, NA, NA, NA,…
$ FBWHYSP_do_some         <dbl> NA, NA, NA, NA, 2, NA, NA, NA, NA, NA, NA, NA,…
$ FBWHYNTSP_crit          <dbl> 1, NA, 3, 3, NA, NA, NA, NA, NA, NA, NA, 3, NA…
$ FBWHYNTSP_no_diff       <dbl> 1, NA, 3, 3, NA, NA, NA, NA, NA, NA, NA, 1, NA…
$ FBWHYNTSP_no_politics   <dbl> 1, NA, 1, 1, NA, NA, NA, NA, NA, NA, NA, 2, NA…
$ FBWHYNTSP_idc           <dbl> 3, NA, 3, 1, NA, NA, NA, NA, NA, NA, NA, 3, NA…
$ FBSEEPOL_W144           <dbl> 4, NA, 5, 5, 3, NA, 3, 5, NA, NA, NA, 4, NA, 4…
$ FBPOLIDEO_W144          <dbl> 4, NA, NA, NA, 3, NA, 3, NA, NA, NA, NA, 2, NA…
$ FBFREEEXP_W144          <dbl> 1, NA, 2, 1, 2, NA, 1, 99, NA, NA, NA, 1, NA, …
$ IGWHY_news              <dbl> 3, NA, NA, NA, NA, NA, 3, NA, NA, NA, NA, NA, …
$ IGWHY_politics          <dbl> 3, NA, NA, NA, NA, NA, 3, NA, NA, NA, NA, NA, …
$ IGWHY_sports_popculture <dbl> 2, NA, NA, NA, NA, NA, 2, NA, NA, NA, NA, NA, …
$ IGWHY_entertaining      <dbl> 1, NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA, …
$ IGWHY_FF                <dbl> 1, NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA, …
$ IGWHY_connect           <dbl> 2, NA, NA, NA, NA, NA, 2, NA, NA, NA, NA, NA, …
$ IGWHY_reviews_recs      <dbl> 2, NA, NA, NA, NA, NA, 3, NA, NA, NA, NA, NA, …
$ IGDEMOCRACY_W144        <dbl> 3, NA, NA, NA, NA, NA, 2, NA, NA, NA, NA, NA, …
$ IGSOURCE_NOJ            <dbl> NA, NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA,…
$ IGGSOURCE_FF            <dbl> NA, NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA,…
$ IGSOURCE_AC             <dbl> NA, NA, NA, NA, NA, NA, 2, NA, NA, NA, NA, NA,…
$ IGSOURCE_A_NPO          <dbl> NA, NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA,…
$ IGSOURCE_other          <dbl> NA, NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA,…
$ IGTYPE_funny            <dbl> 1, NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA, …
$ IGTYPE_news             <dbl> 2, NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA, …
$ IGTYPE_op               <dbl> 1, NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA, …
$ IGTYPE_info             <dbl> 1, NA, NA, NA, NA, NA, 2, NA, NA, NA, NA, NA, …
$ IGACC_W144              <dbl> NA, NA, NA, NA, NA, NA, 3, NA, NA, NA, NA, NA,…
$ IGINFLUENCE_W144        <dbl> NA, NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA,…
$ IGELSE_W144             <dbl> NA, NA, NA, NA, NA, NA, 3, NA, NA, NA, NA, NA,…
$ IGWORN_W144             <dbl> NA, NA, NA, NA, NA, NA, 2, NA, NA, NA, NA, NA,…
$ IGHARASS_W144           <dbl> 2, NA, NA, NA, NA, NA, 3, NA, NA, NA, NA, NA, …
$ IGSHARE_W144            <dbl> 1, NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA, …
$ IGSHAREPOL_W144         <dbl> 5, NA, NA, NA, NA, NA, 5, NA, NA, NA, NA, NA, …
$ IGWHYSP_welcomed        <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ IGWHYSP_make_diff       <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ IGWHYSP_politics        <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ IGWHYSP_do_some         <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ IGWHYNTSP_crit          <dbl> 1, NA, NA, NA, NA, NA, 2, NA, NA, NA, NA, NA, …
$ IGWHYNTSP_no_diff       <dbl> 1, NA, NA, NA, NA, NA, 2, NA, NA, NA, NA, NA, …
$ IGWHYNTSP_no_politics   <dbl> 1, NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA, …
$ IGWHYNTSP_idc           <dbl> 3, NA, NA, NA, NA, NA, 3, NA, NA, NA, NA, NA, …
$ IGSEEPOL_W144           <dbl> 4, NA, NA, NA, NA, NA, 3, NA, NA, NA, NA, NA, …
$ IGPOLIDEO_W144          <dbl> 4, NA, NA, NA, NA, NA, 3, NA, NA, NA, NA, NA, …
$ IGFREEEXP_W144          <dbl> 1, NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA, …
$ XTWHY_news              <dbl> NA, NA, NA, NA, 2, 1, NA, NA, NA, NA, NA, 2, N…
$ XTWHY_politics          <dbl> NA, NA, NA, NA, 2, 1, NA, NA, NA, NA, NA, 2, N…
$ XTWHY_sports_popculture <dbl> NA, NA, NA, NA, 3, 3, NA, NA, NA, NA, NA, 2, N…
$ XTWHY_entertaining      <dbl> NA, NA, NA, NA, 99, 2, NA, NA, NA, NA, NA, 2, …
$ XTWHY_FF                <dbl> NA, NA, NA, NA, 2, 3, NA, NA, NA, NA, NA, 3, N…
$ XTWHY_connect           <dbl> NA, NA, NA, NA, 2, 1, NA, NA, NA, NA, NA, 2, N…
$ XTWHY_reviews_recs      <dbl> NA, NA, NA, NA, 3, 2, NA, NA, NA, NA, NA, 3, N…
$ XTDEMOCRACY_W144        <dbl> NA, NA, NA, NA, 1, 1, NA, NA, NA, NA, NA, 1, N…
$ XTSOURCE_NOJ            <dbl> NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA, NA,…
$ XTSOURCE_FF             <dbl> NA, NA, NA, NA, NA, 2, NA, NA, NA, NA, NA, NA,…
$ XTSOURCE_AC             <dbl> NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA, NA,…
$ XTSOURCE_A_NPO          <dbl> NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA, NA,…
$ XTSOURCE_other          <dbl> NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA, NA,…
$ XTTYPE_funny            <dbl> NA, NA, NA, NA, 1, 1, NA, NA, NA, NA, NA, 1, N…
$ XTTYPE_news             <dbl> NA, NA, NA, NA, 1, 1, NA, NA, NA, NA, NA, 1, N…
$ XTTYPE_op               <dbl> NA, NA, NA, NA, 1, 1, NA, NA, NA, NA, NA, 1, N…
$ XTTYPE_info             <dbl> NA, NA, NA, NA, 1, 1, NA, NA, NA, NA, NA, 1, N…
$ XTACC_W144              <dbl> NA, NA, NA, NA, NA, 3, NA, NA, NA, NA, NA, NA,…
$ XTINFLUENCE_W144        <dbl> NA, NA, NA, NA, NA, 2, NA, NA, NA, NA, NA, NA,…
$ XTELSE_W144             <dbl> NA, NA, NA, NA, NA, 2, NA, NA, NA, NA, NA, NA,…
$ XTWORN_W144             <dbl> NA, NA, NA, NA, NA, 3, NA, NA, NA, NA, NA, NA,…
$ XTHARASS_W144           <dbl> NA, NA, NA, NA, 2, 3, NA, NA, NA, NA, NA, 3, N…
$ XTSHARE_W144            <dbl> NA, NA, NA, NA, 1, 1, NA, NA, NA, NA, NA, 2, N…
$ XTSHAREPOL_W144         <dbl> NA, NA, NA, NA, 3, 3, NA, NA, NA, NA, NA, NA, …
$ XTWHYSP_welcomed        <dbl> NA, NA, NA, NA, 2, 1, NA, NA, NA, NA, NA, NA, …
$ XTWHYSP_make_diff       <dbl> NA, NA, NA, NA, 2, 1, NA, NA, NA, NA, NA, NA, …
$ XTWHYSP_politics        <dbl> NA, NA, NA, NA, 3, 1, NA, NA, NA, NA, NA, NA, …
$ XTWHYSP_do_some         <dbl> NA, NA, NA, NA, 2, 3, NA, NA, NA, NA, NA, NA, …
$ XTWHYNTSP_crit          <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ XTWHYNTSP_no_diff       <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ XTWHYNTSP_no_politics   <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ XTWHYNTSP_idc           <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ XTSEEPOL_W144           <dbl> NA, NA, NA, NA, 3, 2, NA, NA, NA, NA, NA, 2, N…
$ XTPOLIDEO_W144          <dbl> NA, NA, NA, NA, 3, 1, NA, NA, NA, NA, NA, 3, N…
$ XTFREEEXP_W144          <dbl> NA, NA, NA, NA, 2, 1, NA, NA, NA, NA, NA, 1, N…
$ TTWHY_news              <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 3,…
$ TTWHY_politics          <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 3,…
$ TTWHY_sports_popculture <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 3,…
$ TTWHY_entertaining      <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1,…
$ TTWHY_FF                <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 3,…
$ TTWHY_connect           <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 3,…
$ TTWHY_reviews_recs      <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 3,…
$ TTDEMOCRACY_W144        <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1,…
$ TTSOURCE_NOJ            <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ TTSOURCE_FF             <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ TTSOURCE_AC             <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ TTSOURCE_A_NPO          <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ TTSOURCE_other          <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ TTTYPE_funny            <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1,…
$ TTTYPE_news             <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 2,…
$ TTTYPE_op               <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1,…
$ TTTYPE_info             <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1,…
$ TTACC_W144              <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ TTINFLUENCE_W144        <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ TTELSE_W144             <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ TTWORN_W144             <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ TTHARASS_W144           <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 3,…
$ TTSHARE_W144            <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 2,…
$ TTSHAREPOL_W144         <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ TTWHYSP_welcomed        <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ TTWHYSP_make_diff       <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ TTWHYSP_politics        <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ TTWHYSP_do_some         <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ TTWHYNTSP_crit          <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ TTWHYNTSP_no_diff       <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ TTWHYNTSP_no_politics   <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ TTWHYNTSP_idc           <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ TTSEEPOL_W144           <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 3,…
$ TTPOLIDEO_W144          <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 3,…
$ TTFREEEXP_W144          <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1,…
$ F_METRO                 <dbl> 1, 1, 1, 2, 2, 1, 1, 1, 1, NA, 1, 1, 1, 1, 1, …
$ F_CREGION               <dbl> 1, 4, 3, 2, 2, 4, 1, 3, 3, 4, 4, 1, 2, 1, 3, 4…
$ F_CDIVISION             <dbl> 2, 9, 5, 4, 4, 9, 2, 5, 5, 9, 8, 2, 3, 2, 7, 9…
$ F_USR_SELFID            <dbl> 2, 2, 3, 3, 3, 3, 2, 2, 2, 2, 3, 2, 1, 1, 2, 1…
$ F_AGECAT                <dbl> 2, 3, 4, 4, 4, 4, 1, 4, 4, 4, 4, 3, 4, 2, 4, 4…
$ F_GENDER                <dbl> 2, 2, 2, 2, 2, 1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 2…
$ F_EDUCCAT               <dbl> 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 1, 2, 1, 3, 3, 2…
$ F_EDUCCAT2              <dbl> 6, 6, 4, 5, 4, 3, 6, 4, 3, 6, 5, 4, 5, 2, 2, 3…
$ F_HISP                  <dbl> 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2…
$ F_HISP_ORIGIN           <dbl> NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA, NA,…
$ F_YEARSINUS_RECODE      <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4…
$ F_RACECMB               <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
$ F_RACETHNMOD            <dbl> 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
$ F_BIRTHPLACE            <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4…
$ F_MARITAL               <dbl> 1, 1, 1, 1, 3, 4, 6, 1, 1, 1, 1, 1, 5, 2, 1, 5…
$ F_RELIG                 <dbl> 2, 1, 1, 1, 1, 12, 1, 12, 1, 10, 2, 2, 11, 12,…
$ F_BORN                  <dbl> 2, 2, 1, 1, 1, NA, 1, NA, 1, NA, 2, 2, NA, NA,…
$ F_RELIGCAT1             <dbl> 2, 1, 1, 1, 1, 3, 1, 3, 1, 3, 2, 2, 4, 3, 1, 3…
$ F_ATTENDPER             <dbl> 4, 4, 1, 2, 2, 6, 2, 6, 2, 6, 5, 5, 6, 6, 1, 6…
$ F_PARTY_FINAL           <dbl> 2, 1, 3, 1, 1, 1, 1, 2, 1, 3, 3, 1, 2, 2, 3, 2…
$ F_PARTYLN_FINAL         <dbl> NA, NA, 1, NA, NA, NA, NA, NA, NA, 2, 2, NA, N…
$ F_PARTYSUM_FINAL        <dbl> 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2…
$ F_PARTYSUMIDEO_FINAL    <dbl> 4, 2, 1, 1, 1, 1, 1, 4, 1, 3, 3, 1, 4, 4, 2, 4…
$ F_REG                   <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
$ F_INC_SDT1              <dbl> 9, 9, 3, 9, 2, 8, 1, 8, 9, 9, 9, 9, 2, 2, 2, 3…
$ F_IDEO                  <dbl> 4, 3, 1, 2, 2, 2, 2, 4, 1, 3, 3, 1, 4, 5, 3, 5…
$ F_INTFREQ               <dbl> 2, 2, 2, 4, 2, 1, 1, 2, 5, 1, 2, 1, 2, 2, 3, 3…
$ F_VOLSUM                <dbl> 1, 1, 2, 1, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 1, 2…
$ F_INC_TIER2             <dbl> 2, 3, 1, 3, 2, 3, 1, 2, 3, 99, 3, 3, 2, 1, 2, …
view(pew)
harassment <- pew |>
   select(TTHARASS_W144, FBHARASS_W144, IGHARASS_W144, XTHARASS_W144) |>
  pivot_longer(
    cols = everything(),
    names_to = "platform",
    values_to = "harassment"
  ) |>
  filter(!is.na(harassment), harassment %in% c(1,2,3)) |>
  mutate(
    platform = recode(
      platform,
      TTHARASS_W144 = "TikTok",
      FBHARASS_W144 = "Facebook",
      IGHARASS_W144 = "Instagram",
      XTHARASS_W144 = "X/Twitter"
    ),
    harassment = factor(
  harassment, 
  levels = c(1,2,3),
  labels = c("Major Problem", "Minor Problem", "Not a Problem"))
)

ggplot(harassment, aes(x = platform, fill = harassment)) +
  geom_bar(position = "dodge") +
  #scale_y_continuous(labels = scales::percent) +
  labs(
    title = "Harassment on Social Media Platforms",
    x = "Platform",
    y = "Response Count",
    fill = "Responses"
  ) +
  theme_minimal()

news_and_age <- pew |>
  select(
    SOCIALNEWS2_FB,
    SOCIALNEWS2_X,
    SOCIALNEWS2_IG,
    SOCIALNEWS2_TikTok,
    F_AGECAT,
  )

news_long <- news_and_age |>
  pivot_longer(
    cols = starts_with("SOCIALNEWS2"),
    names_to = "platform",
    values_to = "news_usage"
  ) |>
  filter(F_AGECAT %in% c(1,2,3,4), news_usage %in% c(1,2))

news_long <- news_long |>
  mutate(
    platform = recode(
      platform,
      SOCIALNEWS2_FB = "Facebook",
      SOCIALNEWS2_X = "X/Twitter",
      SOCIALNEWS2_IG = "Instagram",
      SOCIALNEWS2_TikTok = "TikTok"
    )
  )

news_summary <- news_long |>
  group_by(F_AGECAT, platform) |>
  summarise(
    percent = mean(news_usage == 1, na.rm = TRUE) * 100,
    .groups = "drop"
  )

news_summary$F_AGECAT <- factor(
  news_summary$F_AGECAT,
  levels = c(1,2,3,4),
  labels = c("18-29", "30-49", "50-64", "65+")
)

table(news_long$news_usage, useNA = "ifany")

    1     2 
 5791 11779 
head(news_summary)
# A tibble: 6 × 3
  F_AGECAT platform  percent
  <fct>    <chr>       <dbl>
1 18-29    Facebook     44.1
2 18-29    Instagram    43.1
3 18-29    TikTok       59.5
4 18-29    X/Twitter    60.3
5 30-49    Facebook     41.3
6 30-49    Instagram    29.2
ggplot(news_summary, aes(x = F_AGECAT, y = percent, color = platform, shape = platform, group = platform)) +
  geom_line() +
  geom_point() +
  scale_y_continuous(limits = c(0,100)) +
  guides(shape = "none") +
  labs(
    title = "The Social Platform for News Information by Age",
    x = "Age Group",
    y = "Percent of Repondents",
    color = "Social Media Platform"
  ) +
  theme_minimal()

pew_1_pre_join <- pew %>%
  select(F_CDIVISION, SMUSE_X, SMUSE_IG, SMUSE_FB, SMUSE_TikTok, SOCIALNEWS2_X, SOCIALNEWS2_IG, 
         SOCIALNEWS2_FB, SOCIALNEWS2_TikTok, F_AGECAT) %>%
  mutate(
    year = 2024
  )

pew_2_pre_join <- pew_2 %>%
  select(F_CDIVISION, SMUSE_c_W112, SMUSE_d_W112, SMUSE_a_W112, SMUSE_i_W112, SOCIALNEWS2_c_W112, SOCIALNEWS2_d_W112, SOCIALNEWS2_a_W112, SOCIALNEWS2_i_W112, F_AGECAT) %>%
  mutate(
    year = 2022
  ) %>%
  rename(
    SMUSE_X = SMUSE_c_W112, 
    SMUSE_IG = SMUSE_d_W112, 
    SMUSE_FB = SMUSE_a_W112,
    SMUSE_TikTok = SMUSE_i_W112, 
    SOCIALNEWS2_X = SOCIALNEWS2_c_W112, 
    SOCIALNEWS2_IG = SOCIALNEWS2_d_W112, 
    SOCIALNEWS2_FB = SOCIALNEWS2_a_W112, 
    SOCIALNEWS2_TikTok = SOCIALNEWS2_i_W112
  )

pew_joined <- bind_rows(pew_1_pre_join, pew_2_pre_join)
pew_joined
# A tibble: 22,601 × 11
   F_CDIVISION            SMUSE_X   SMUSE_IG SMUSE_FB SMUSE_TikTok SOCIALNEWS2_X
   <dbl+lbl>              <dbl+lbl> <dbl+lb> <dbl+lb> <dbl+lbl>    <dbl+lbl>    
 1 2 [Middle Atlantic]    2 [No, d… 1 [Yes,… 1 [Yes,… 2 [No, don’… NA           
 2 9 [Pacific]            2 [No, d… 2 [No, … 2 [No, … 2 [No, don’… NA           
 3 5 [South Atlantic]     2 [No, d… 2 [No, … 1 [Yes,… 2 [No, don’… NA           
 4 4 [West North Central] 2 [No, d… 2 [No, … 1 [Yes,… 2 [No, don’… NA           
 5 4 [West North Central] 1 [Yes, … 2 [No, … 1 [Yes,… 2 [No, don’…  2 [No, don’…
 6 9 [Pacific]            1 [Yes, … 2 [No, … 2 [No, … 2 [No, don’…  1 [Yes, reg…
 7 2 [Middle Atlantic]    2 [No, d… 1 [Yes,… 1 [Yes,… 2 [No, don’… NA           
 8 5 [South Atlantic]     2 [No, d… 2 [No, … 1 [Yes,… 2 [No, don’… NA           
 9 5 [South Atlantic]     2 [No, d… 2 [No, … 2 [No, … 2 [No, don’… NA           
10 9 [Pacific]            2 [No, d… 2 [No, … 2 [No, … 2 [No, don’… NA           
# ℹ 22,591 more rows
# ℹ 5 more variables: SOCIALNEWS2_IG <dbl+lbl>, SOCIALNEWS2_FB <dbl+lbl>,
#   SOCIALNEWS2_TikTok <dbl+lbl>, F_AGECAT <dbl+lbl>, year <dbl>