3 소셜 계정 분석

3.1 데이터 변환

리스트형 자료구조에서 분석에 필요한 “이름”, “사이트”, “사진” 필드를 가져와서 리스트칼럼 형태 자료구조로 변환시킨다. 중점적으로 소셜 계정 사이트를 볼 것이기 때문에 문자열 처리를 하고 데이터프레임으로 변환한다.

# 2. 소셜 데이터 -----
## 리스트 --> 데이터프레임
np_comp_df <- tibble(
  이름 = map_chr(np_comp_list, "name"),
  사이트 = map_chr(np_comp_list, "사이트", .default = NA),
  사진 = map_chr(np_comp_list, "사진", .default = NA)
)

## 분석용 데이터프레임
np_social_df <- np_comp_df %>%
  mutate(사이트 = str_trim(사이트)) %>% 
  mutate(social = str_split(사이트, pattern=", ")) %>% 
  mutate(social = map(social, enframe, name="순", value="사이트명")) %>% 
  unnest(social)

3.2 소셜 계정 분석

3.2.1 소셜 안함

가장 먼저 눈에 띄는 것은 소셜 사이트가 없는 국회의원이다. 놀랍기는 하지만 결측값이라… 소셜 사이트가 없는 국회의원은 다음과 같다.

# 3. 시각화 -----
## 소셜이 없는 의원
np_comp_df %>% 
  filter(is.na(사이트)) %>% 
  DT::datatable()

3.2.2 어떤 사이트가 많나?

페이스북, 블로그, 트위터, 공식사이트, 유튜브, 인스타그램 등 다양한 SNS가 범람하고 있다. 그중 국회의원이 선택한 SNS는 어떤 사이트일까?

## 가장 많은 소셜
np_social_df %>% 
  count(사이트명, sort=TRUE) %>% 
  mutate(사이트명 = ifelse(is.na(사이트명),"없음", 사이트명)) %>% 
  ggplot(aes(x=fct_reorder(사이트명,n), y = n)) +
  geom_col() +
  labs(x="소셜사이트명", y="소셜 사이트 빈도수") +
  theme_minimal(base_family = "NanumGothic") +
  coord_flip()

3.2.3 의원님의 소셜은 몇개?

페이스북, 블로그, 트위터, 공식사이트, 유튜브, 인스타그램 등 다양한데, 국회의원님들은 몇개를 운영하고 있을까?

## 소셜 계정 운영횟수
np_social_df %>% 
  group_by(이름) %>% 
  summarise(social_cnt = max(순)) %>% 
  count(social_cnt, sort=TRUE) %>% 
  mutate(social_cnt = as.integer(social_cnt)) %>% 
  ggplot(aes(x=social_cnt, y = n)) +
    geom_col() +
    labs(x="소셜사이트 운영갯수", y="소셜 사이트 빈도수") +
    theme_minimal(base_family = "NanumGothic")