위키백과사전에서 제공하는 페이지뷰를 활용하면 중요 페이지에 대한 인물관심도를 유추할 수 있다.
R에서 wikipediatrend: Public Subject Attention via Wikipedia Page View Statistics 팩키지를 통하면 최소 코딩량을 가지고 지방선거 판세도 분석에 활용할 수도 있다.
devtools::install_github("petermeissner/wikipediatrend")
명령어로 위키백과사전에서 해당 위키 페이지에 대한 관심도를 추출할 수 있게 도와주는 팩키지를 설치한다. 그리고 나서 wp_trend()
함수에 page
, lang
, 기간을 설정해 데이터를 가져온다.
# 0. 환경설정 -----
library(wikipediatrend) # devtools::install_github("petermeissner/wikipediatrend")
library(tidyverse)
library(ggthemes)
library(DT)
library(extrafont)
loadfonts()
library(plotly)
# 1. 데이터 가져오기 -----
presid_df <-
wp_trend(
page = c("문재인", "박근혜", "이명박"),
lang = c("ko"),
from = "2016-07-01",
to = "2018-03-18"
)
# 2. 표 -----
presid_df %>%
select(날짜=date, 대통령=article, 페이지뷰=views) %>%
mutate(날짜 = format(날짜, "%Y-%m-%d")) %>%
datatable() %>%
formatCurrency(c("페이지뷰"), currency="", digits=0)
대통령 위키 페이지를 ggplot
과 plotly
를 통해 시각화한다.
# 3. 데이터 시각화 -----
presid_g <- presid_df %>%
rename(대통령 = article) %>%
mutate(대통령 = factor(대통령, levels=c("이명박", "박근혜", "문재인"))) %>%
ggplot(aes(x=date, y=views, color=대통령)) +
geom_point() +
geom_line() +
scale_y_sqrt(labels=scales::comma) +
theme_minimal(base_family = "NanumGothic") +
labs(x="",y="위키백과사전 페이지뷰")
ggplotly(presid_g)
전직 이명박 대통령이 서울시장을 지내기도 해서 서울시장에 대한 대중 관심도는 크다. 특히, 민주당 박원순, 우상호, 박영선 의원이 민주당의 대표주자로 자웅을 겨루고 있다.
# 1. 데이터 가져오기 -----
seoul_df <-
wp_trend(
page = c("박원순", "우상호", "박영선_(1960년)"),
lang = c("ko"),
from = "2016-07-01",
to = "2018-03-18"
)
# 2. 표 -----
seoul_df %>%
select(날짜=date, 후보=article, 페이지뷰=views) %>%
mutate(날짜 = format(날짜, "%Y-%m-%d")) %>%
datatable() %>%
formatCurrency(c("페이지뷰"), currency="", digits=0)
# 3. 데이터 시각화 -----
seoul_g <- seoul_df %>%
rename(후보 = article) %>%
mutate(후보 = factor(후보, levels=c("박원순", "우상호", "박영선_(1960년)"))) %>%
ggplot(aes(x=date, y=views, color=후보)) +
geom_point() +
geom_line() +
# facet_wrap(~후보, nrow=1) +
scale_y_sqrt(labels=scales::comma) +
theme_minimal(base_family = "NanumGothic") +
labs(x="",y="위키백과사전 페이지뷰") +
theme(legend.position = "top")
ggplotly(seoul_g)
여론조사에서 이재명 성남시장이 앞도적인 지지율을 보이고 있지만, 민주당 경선에 출사표를 던지 전해철 의원도 상당부분 추격을 한 것으로 보인다.
# 1. 데이터 가져오기 -----
gg_df <-
wp_trend(
page = c("이재명_(1964년)", "전해철"),
lang = c("ko"),
from = "2017-01-01",
to = "2018-03-18"
)
# 2. 표 -----
gg_df %>%
select(날짜=date, 후보=article, 페이지뷰=views) %>%
mutate(날짜 = format(날짜, "%Y-%m-%d")) %>%
datatable() %>%
formatCurrency(c("페이지뷰"), currency="", digits=0)
# 3. 데이터 시각화 -----
gg_g <- gg_df %>%
rename(후보 = article) %>%
mutate(후보 = factor(후보, levels=c("이재명_(1964년)", "전해철", "남경필"))) %>%
ggplot(aes(x=date, y=views, color=후보)) +
geom_point() +
geom_line() +
geom_smooth(se=FALSE) +
# facet_wrap(~후보, nrow=1) +
scale_y_sqrt(labels=scales::comma) +
scale_x_datetime(date_labels = "%y-%m-%d") +
theme_minimal(base_family = "NanumGothic") +
labs(x="",y="위키백과사전 페이지뷰") +
theme(legend.position = "top")
ggplotly(gg_g)