R苦手の会#8

今回はid:wakutekaがRグラフィックス(see:参考資料)を購入したので,わくてかさんのお話を聞きながらRグラフィックスの中身をざっと見てみようぜっていう感じです.

作図システムの階層構造

grDevices
  • 作図システムの基礎.これがないと始まらない.
  • グラフィックデバイスを定義するパッケージ
  • png()とかそういうやつ.?pngとかやるとgrDevicesの一味だって分かる.一覧はls("packages:grDevices")
Graphics Systems
  • graphicsパッケージとgridパッケージが主要なヤツ?
  • グラフィックデバイスの上にいろいろ描く仕組み
  • 低水準作画関数の集まり
  • latticeとかのグラフィック関連のパッケージはこれをベースに作られている
Graphics Packages
  • latticeとか.

本の流れ

作図法の種類
  • 2つの作図法がある(graphics, grid)
  • traditionalな作図: barplotとか
traditionalな作図の説明
  • traditionalな作図システムは総称的
    • plot()とかはクラスを判別して実際に使用する関数を決定している
traditionalな作図における引数
  • 細かいことはそれぞれの関数のhelp見ようぜ
  • colみたいに色指定用の引数もあるけど,軸や軸ラベルの色みたいなものは普通変えられない
    • 総称的だから細かいことできない?
3次元データの可視化に便利な関数
対話的にアレできる関数

==== traditionalな作図の話はこのへんまで ====
↓こっからgrid的なヤツ

lattice
  • library(lattice)
  • xyplot(lat~long, data=quakes, pch=".")
    • 点だけのが出る
  • tplot <- xyplot(lat~long, data=quakes, pch=".")
    • こうするとプロットされない
    • なんだかggplotっぽくないですか?
    • そうです!ggplot2もgrid使ってるんです!!!
    • xyplotが返すのはtrelisクラスのオブジェクト
> p <- xyplot(lat~long, data=quakes, pch=".")
> class(p)
[1] "trellis"
    • 代入したオブジェクトはprint(tplot)みたいな感じプロットできる
    • print()はbaseに入ってる
  • オブジェクトの変更,修正はupdate()を使う
あなたがlatticeを使うべき三つの理由
  • 見た目カッコイイ
    • 色分けとかラベルとかのデフォルト値
  • 複数の水準を持つデータを一度にグラフ化できる
    • グループ変数を基準にデータ分けてヒストグラム書くとかそんなの
    • y ~ x | g(訳:gで分類してy~xのプロット描いて!)
    • ggplot2だとfacet_wrap(~g)とかでlayer設定
  • gridったらさいきょーね

===== 今日はここまで =====
わくてかさんどうも乙でした.
本の雰囲気としてはlatticeすげーよlatticeみんな使おうぜって感じかな.
gridはggplot2も使ってるらしいし,Rグラフィックスちょっと欲しくなった.