
Conductor
縦軸にブランド(製造)で、横軸に車種を持ってくる。中身はカウント数なので、どのブランドがどの車種をどの程度保有しているかわかる。

Visualizer
目的に応じてカラムとして集計する変数を追加していく。大小比較なら単純に降順で棒グラフ比較が分かり易いものの、どの組合せをどのブランドがカバーしているのかについては、カテゴリー変数×カテゴリー変数で整理して、①ブランドをみる、②横軸にそって攻められていない部分を視る、という比較が可能。例えば、車種別(商材の特徴別)でどの特徴が売上や利益として伸びているのか確認の上、ブランド別で車種カバレッジの割合を可視化。


Wrangler
全体像はこんな感じ
# LIBRARIES ----
library(tidyquant)
library(tidyverse)
# DATA ----
mpg
# PIVOTING DATA ----
# 1.0 Pivot Wider ----
# - Reshaping to wide format
mpg_pivot_table_1 <- mpg %>%
group_by(manufacturer) %>%
count(class, name = "n") %>%
# class列の数をカウント。name = "n" でカウント結果をn列に格納。
ungroup() %>%
pivot_wider( # wider formatに変換。横持ちデータ。クロス集計表。
names_from = class, # class列の値を列に変換
values_from = n, # n列の値を取得
values_fill = 0 # NAを0で埋める
)
# 2.0 Pivot Table ----
# - Making Summary "Pivot Tables"
mpg_pivot_table_2 <- mpg %>%
pivot_table( # クロス集計表を作成
.columns = class, # class列を列に変換
.rows = manufacturer, # manufacturer列を行に変換
.values = ~ n(), # n()でカウント # ~ はformulaの意味. formulaとは、関数の引数に渡す関数のこと。
fill_na = 0 # NAを0で埋める
)
# - Using lists to capture complex objects
mpg %>%
pivot_table(
.rows = class,
.values = ~ list(lm(hwy ~ displ + cyl - 1))
# ~ list(lm(hwy ~ displ + cyl - 1)) でlm()関数を使って回帰分析を行い、その結果をリストで取得.
# この場合、class列の値ごとに回帰分析を行い、その結果をリストで取得している。
# このように、複雑なオブジェクトを取得する場合は、list()を使う。
# hwy ~ displ + cyl - 1 は、hwyをdisplとcylで回帰分析することを指定している。
)
# 3.0 Pivot Longer ----
# - Long format best for visualizations
mpg_long_summary_table <- mpg_pivot_table_1 %>%
pivot_longer( # long formatに変換。縦持ちデータ。
cols = compact:subcompact, # compact列からsubcompact列までを変換(class列の中身)
names_to = "class", # class列に変換
values_to = "value" # value列に変換.クロス集計表の中身であったvalueはvalue列を新たにさ作成、その値を入れる。
)
mpg_long_summary_table %>%
ggplot(aes(class, manufacturer, fill = value)) +
# class列をx軸、manufacturer列をy軸、value列をfillで色分け
geom_tile() +
# タイルを描画
geom_label(aes(label = value), fill = "white") +
# fill = "white" でラベルの背景色を白に指定
# aes(label = value) でラベルにvalue列の値を表示
# geom_label() でラベルを描画
scale_fill_viridis_c() +
# scale_fill_viridis_c() で色をviridisに指定
# viridisはカラーパレットの一つ
theme_minimal() +
# theme_minimal() でテーマをminimalに指定
labs(title = "Class by Auto Manufacturer")
# labs(title = "Class by Auto Manufacturer") でタイトルを指定
Raw data / Wrangling / Feature Engineering(抽出~整形)
- Source: https://fueleconomy.gov/
- SQL読込: –
- CSV読込: –
- API読込 : 〇(mpg)
- rmarkdown:render()読込:- (.rmdのファイルをtemlate保存しておく必要あり)

Extractor
元々のデータフレーム(mpg)


Wrangler
Loading
# Script on Rstudio
# Tips: 読み込み先のファイルは「記載するpath名の始まり」からWorking Directoryとして設定する必要性がある。
mpg

Wrangler
視える化に合わせて編集

メモ
- 行 (row) :レコード、Observation
- 列 (column):特徴量、変数、次元数、次元の削減(Dimensionality Reduction): 高次元データを少ない次元に圧縮し、モデルの効率を上げるための手法。.xは列を指定している。
- 値:data point、Feature
- Wide format:クロス集計表(横持ちデータ)、Long format:縦持ちデータ
- 情報ソースがWEBサイト(HTMLやCSS)の場合にはどこから抽出するか、が問われるので、HTMLやCSSの知識が必要(スクレイピングを実施するにせよ)。
- レンダリング(rendering)とはコンピュータがデータを処理して画像や映像、テキストなどを表示させる技術。
- .fn(単数)と.fns(複数)はfunctionの略で無名関数。~ (tilde:チルダ) も無名関数。
参考リンク
- Script事例:https://www.business-science.io/
- Rデータの種類:https://ebreha.com/__trashed/