데이터 가져오기 - 네이버 인물정보를 통해 데이터를 가져왔다면 이를 다시 재현하여 보자.
데이터 가져오기 - 네이버 인물정보를 통해 가져온 데이터가 정말 제대로 된 것인지 listviewer
팩키지 jsoneidit()
함수로 살펴보자.
# 0. 환경설정 -----
library(tidyverse)
library(trelliscopejs)
# 1. 국회의원 인물정보 -----
np_comp_list <- read_rds("data/naver_people_info.rds")
np_comp_list <- plyr::compact(np_comp_list) # NULL 제거
listviewer::jsonedit(np_comp_list)
리스트 데이터를 데이터프레임으로 변환시킨다. 이를 위해서 함수형 프로그래밍을 지원하는 purrr
팩키지를 적극사용한다.
# 2. 소셜 데이터 -----
## 리스트 --> 데이터프레임
np_comp_df <- tibble(
이름 = map_chr(np_comp_list, "name", .default = NA),
출생 = map_chr(np_comp_list, "출생", .default = NA),
소속 = map_chr(np_comp_list, "소속", .default = NA),
사이트 = map_chr(np_comp_list, "사이트", .default = NA),
사진 = map_chr(np_comp_list, "사진", .default = NA),
학력 = map_chr(np_comp_list, "학력", .default = NA),
수상 = map_chr(np_comp_list, "수상", .default = NA),
경력 = map_chr(np_comp_list, "경력", .default = NA),
가족 = map_chr(np_comp_list, "가족", .default = NA)
)
np_comp_df %>%
select(이름, 출생, 사이트) %>%
DT::datatable()
데이터프레임을 trelliscope
을 활용하여 작은창(trellis)을 쭉 연결하여 인터랙티브하게 구현해 보자.
# options(encoding = "utf8")
np_comp_df %>%
mutate(panel = img_panel(사진)) %>%
trelliscope("naver_people", nrow = 3, ncol = 6,
state = list(labels = c("이름", "출생", "소속")),
path="congress_trellis")