駆け足で読む『The Grammar of Graphics』Part 1 Syntax グラフィクス部品の並べ方・統語規則

  • 2 How To Make a Pie
    • 2.1 定義
      • パイチャートを作る過程を例にとって、「処理」をきちんと説明するための用語を導入する(ちょっとまだわかってない…)
      • 集合
      • 関係
      • グラフ化(対応付け)
      • 関数の合成(compositions)と合成関数
      • 変換(transformations)
      • 代数的に変換を扱う
      • 変数はdomain, codomainとdomainをcodomainへのmappingからなる
      • Varsetsは変数のmappingの逆作用
      • フレームはグラフィクスで扱う要素の範囲を定めるもの
    • 2.2 レシピ
      • グラフィクス作業の説明書き
      • 変数作り(データソースから取り出す)
      • 変数ごとに取り出された値をどのように取り扱うか代数処理する(ペアワイズのデータなら2カラムに並べる、とか、そんな感じ)
      • スケール化(カテゴリだろうと、数値にしないと配置できない)
      • 統計量の計算
      • 形に関する位置情報に変換する
      • 形・位置情報を座標変換する
      • Aesthetics情報を計算する
    • 2.3 記法 notation
      • この本で、上述のプロセスを説明するために使う用語の定義・説明
  • 3 Data
    • データとは
      • データベースから、「使いたいもののみを取り出しておく仕組みにview」がある。データベースが「データの源」、「viewが(取り出した)データ」。データ源はテキストファイルかも知れないし、ストリーミングされる対象かもしれない
      • データの値は観察されたものの値そのもののこともある
    • そこから、何かしら加工したものもデータ(の値)になる。分散共分散行列をグラフィカルに表示するとき、分散共分散行列はデータ
      • Resamplingして作ったものもやはりデータ
    • データには、「データとしての形」がある
      • 時系列データ型・カウント型・関数で定義されたものかもしれない
    • メタデータ
      • 「プロットする値」以外の情報もデータとして取り込む
    • データマイニング
      • OLAP , MOLAP, ROLAPとかでは「問い合わせ」がデータとして格納される??
    • Rで言えば、"input.txt"がデータ源、取り込んだdataオブジェクトがデータ
data<-read.table("input.txt")
  • 4 Variables
    • インデックスのついた値の集まり(ベクトルとその集まり)
    • Transformationsして変数から値を取り出す(平均というスカラー、昇順ソートしたベクトル、とか)
    • RでV1,V2などがVariablesで、値を束ねている。それにtransformationをする
sum(data$V1)
mean(data$V1)
  • 5 Algebra
    • 例を挙げよう
# これは2つの変数の和
Blend.V<-c(data$V1,data$V2)
# これは2つの変数の積
# 2変数が作りうるすべてのタプルを列挙する
# 描図にあたって、タプルはあるけど、それを表示するべき領域を確保した上で、そこには点がない、というような表示になる
# 積は、解析にあたっては、~V1 + V2 + V1V2のような場合に対応する
Cross.V<-expand.grid(data$V1,data$V2)
# これに対して、Nestは、V1,V2に対応があるとき、その対応タプルの集合(i番サンプルとj番サンプルの2変数の値がともに(v1,v2)だったら、それに関して(v1,v2)を要素とする集合を作る
# 描図にあたって、タプルがなければ、それに対応する領域は確保せずにプロットする、というような表示になる
# Nestは、解析にあたっては、条件付き確率としての扱いに対応する
    • 2つの時系列データを1画面に色を変えてプロットするときには、「2変数の和」をプロットしている
    • 2変数のペアのコプロットは「2変数の積」をプロットしている
    • こういう演算にした上で、演算の代数的特徴(交換則とか結合則とか)を定義しておくと、具体的な作業を忘れた上で取り扱える
    • そんなことを目指している
  • 6 Scale
    • 単位
      • Nominal,Ordinal,Interval,Ratio
    • スケール変換
    • 対数
    • 指数
    • Arcsin,Logit,Probit,Fisher's
    • 確率
  • 7 Statistics
    • データの値がタプルになったり、スケール変換したりして、「値(のセット)」になった後、実際に、表示するものを決める
    • 値のセットをそのまま表示するなら、「無変換という関数」を作用した結果を表示するものと決めるわけだし、箱ひげにするなら、箱ひげを作るための計算値を出さなくてはならない
    • それがStatisticsの計算
    • Statistics分類(主要なもの)
      • Bin (背景のグリッドとか)
      • Summary (要約統計量)
      • Region (範囲(信頼区間とか))
      • Smooth (点から線へ)
      • Link (点をつなぐ、グラフにするようなもの)
  • 8 Geometry
    • 視覚化するには、空間上の図形にする必要がある
    • Geometric Graphs
      • Functions(どう描く)
        • point,line,area,interval,path,schema
      • Partitions(空間を閉じた多様体で仕切る)
        • polygon
        • contour
      • Networks(つなぐ)
        • edge
    • Collision Modifiers
      • 見せるときに重なることがあるから、その制御
  • 9 Coodinates
    • 変換
      • Isometry(等長)
        • 平行移動、回転、反転
      • Similarity(相似)
        • 拡張・縮小
      • Affine(線形変換)
        • 伸び縮み、斜め伸ばし(shear)
      • Projective(射影)
      • Conformal(等角)
    • 極座標、さらにその内外反転
    • 3次元
      • 球座標
      • 三角・四角の格子座標
      • 円錐座標
    • さらに高次元
      • 低次元への射影・取り出し
      • 級数変換
    • 高次元を並べる
    • 分割と繰り返し分割
  • 10 Aesthetics
    • 見せるものと見せる基本が決まったら、それらの表現を決める
    • Aestheticsに属する要素
      • Form
        • Position,Size,Shape,Rotation,Resolution
      • Surface
        • Color,Texture,Blur,Transparency
      • Motion
        • Direction,Speed,Acceleration...
      • Sound
        • Tone,Volume,Rhythm,Voice
      • 視覚・聴覚と来たら、嗅覚・味覚・触覚…(これらは普通、使わない)
      • Text
        • Label
  • 11 Facets
    • いくつかの領域に分けて使う
    • 領域の分割ルール
    • 領域を割り振るルール
  • 12 Guides
    • Scale ガイド
      • Legend(凡例)
    • Annotation ガイド
      • データに対して都度都度変わる情報(特定の点を指し示す情報とか)