일본의 코에이 테크모에서 개발/발매하는 PC용 삼국지 기반 역사 시뮬레이션 게임으로 2세기 말 ~ 3세기 중반 중국의 후한 말기 및 삼국시대를 역사적 배경으로 한다.
코에이 삼국지의 역사적인 배경은 다음과 같다.
코에이 삼국지 발매년도는 다음과 같다.
library(rvest)
library(tidyverse)
library(lubridate)
library(extrafont)
loadfonts()
# 1. 데이터 가져오기 -----
Sys.setlocale("LC_ALL", "C")
[1] "C"
## 1.1. 삼국지 10 능력치
tk_10_url <- "https://zetawiki.com/wiki/%EC%82%BC%EA%B5%AD%EC%A7%80_10_%EB%8A%A5%EB%A0%A5%EC%B9%98_%EB%AA%A9%EB%A1%9D"
## 인코딩 확인
tk_10_url_encoding <- httr::content(httr::GET(tk_10_url), "raw")
# guess_encoding(tk_10_url_encoding)
tk_10_dat <- tk_10_url %>%
read_html(tk_10_url) %>%
html_nodes(xpath='//*[@id="mw-content-text"]/table') %>%
html_table(fill = TRUE) %>%
.[[1]]
Sys.setlocale("LC_ALL", "Korean")
[1] "LC_COLLATE=Korean_Korea.949;LC_CTYPE=Korean_Korea.949;LC_MONETARY=Korean_Korea.949;LC_NUMERIC=C;LC_TIME=Korean_Korea.949"
DT::datatable(tk_10_dat)
# 2. 데이터 정제 -----
tk_10_df <- tk_10_dat %>%
select(이름 = `이름(한글)`, 한문명=`이름(한자)`, everything()) %>%
mutate(등장연도 = make_date(year=등장연도)) %>%
mutate(탄생연도 = make_date(year=탄생연도)) %>%
tbl_df() %>%
filter(이름 != "양서") # 세력상성 782 오류
# 3. 시각화 -----
## 3.0. 시각화 데이터 -----
tk_10_viz_df <- tk_10_df %>%
gather(능력구분, 능력값, 통솔:개인상성)
## 3.1. 시각화 데이터 -----
ggplot(tk_10_viz_df, aes(x=탄생연도, y=능력값, group=능력구분, color=능력구분)) +
geom_point() +
facet_wrap(~능력구분)
# 1. 데이터 가져오기 -----
Sys.setlocale("LC_ALL", "C")
[1] "C"
## 1.1. 삼국지 10 능력치
tk_11_url <- "https://zetawiki.com/wiki/%EC%82%BC%EA%B5%AD%EC%A7%80_11_%EB%8A%A5%EB%A0%A5%EC%B9%98_%EB%AA%A9%EB%A1%9D"
## 인코딩 확인
tk_11_url_encoding <- httr::content(httr::GET(tk_11_url), "raw")
# guess_encoding(tk_11_url_encoding)
tk_11_dat <- tk_11_url %>%
read_html(tk_11_url) %>%
html_nodes(xpath='//*[@id="mw-content-text"]/table') %>%
html_table(fill = TRUE) %>%
.[[1]]
Sys.setlocale("LC_ALL", "Korean")
[1] "LC_COLLATE=Korean_Korea.949;LC_CTYPE=Korean_Korea.949;LC_MONETARY=Korean_Korea.949;LC_NUMERIC=C;LC_TIME=Korean_Korea.949"
DT::datatable(tk_11_dat)
# 2. 데이터 정제 -----
tk_11_df <- tk_11_dat %>%
mutate(등장년도 = make_date(year=등장년도)) %>%
mutate(출생년도 = make_date(year=출생년도)) %>%
mutate(사망년도 = make_date(year=사망년도)) %>%
tbl_df()
# 3. 시각화 -----
## 3.0. 시각화 데이터 -----
tk_11_viz_df <- tk_11_df %>%
gather(능력구분, 능력값, 통솔:능력종합)
tk_11_viz_df %>%
filter(능력구분 != "능력종합") %>%
ggplot(aes(x=능력구분, y=능력값, fill=능력구분)) +
geom_boxplot() +
theme_bw(base_family = "NanumGothic") +
theme(legend.position = "none")
# 1. 데이터 가져오기 -----
Sys.setlocale("LC_ALL", "C")
[1] "C"
## 1.1. 삼국지 12 능력치
tk_12_url <- "https://zetawiki.com/wiki/%EC%82%BC%EA%B5%AD%EC%A7%80_12_%EB%8A%A5%EB%A0%A5%EC%B9%98_%EB%AA%A9%EB%A1%9D"
## 인코딩 확인
tk_12_url_encoding <- httr::content(httr::GET(tk_12_url), "raw")
# guess_encoding(tk_12_url_encoding)
tk_12_dat <- tk_12_url %>%
read_html(tk_11_url) %>%
html_nodes(xpath='//*[@id="mw-content-text"]/table') %>%
html_table(fill = TRUE) %>%
.[[1]]
Sys.setlocale("LC_ALL", "Korean")
[1] "LC_COLLATE=Korean_Korea.949;LC_CTYPE=Korean_Korea.949;LC_MONETARY=Korean_Korea.949;LC_NUMERIC=C;LC_TIME=Korean_Korea.949"
DT::datatable(tk_12_dat)
# 2. 데이터 정제 -----
tk_12_df <- tk_12_dat %>%
tbl_df()
# 3. 시각화 -----
## 3.0. 시각화 데이터 -----
tk_12_viz_df <- tk_12_df %>%
gather(능력구분, 능력값, 통솔:능력종합)
## 3.1. 능력종합 vs 매력 -----
tk_12_viz_df %>%
filter(능력구분 != "능력종합") %>%
ggplot(aes(x=능력구분, y=능력값)) +
geom_boxplot() +
theme_bw(base_family = "NanumGothic") +
theme(legend.position = "none")