- Deepayan Sarkar, 2008: Lattice: Multivariate Data Visualization with R. New York: Springer Science+Business Media LLC, 265 pp. ISBN 978-0-387-75968-5 (paperback)
- D. ショーカー 著, 石田 基広, 石田 和枝 訳, 2009: Rグラフィックス自由自在。シュプリンガー・ジャパン, 296 pp. ISBN 978-4-431-10089-0. 2020年現在、丸善出版から発売、ISBN 978-4-621-06164-0 . 出版社サイトの本書のページ https://www.maruzen-publishing.co.jp/item/b294248.html
出版社や装丁は、英語版、日本語版とも、『Data Manipulation in R / Rデータ自由自在』[読書メモ]と同じだ。英語版は2008年に出た。わたしは2008年3月に(出版社だったか通信販売業者だったかの新刊情報をみて)注文した。日本語版は2009年12月に出て、わたしはすぐ店頭で買った。しかし、ほとんど読まないまま来てしまった。2020年12月になって、ざっと目をとおした。ただし、まだ lattice ソフトウェアを実際にうごかしてみていない。
著者は、本書を書いたときはアメリカの大学に所属していたが、いま(2020-12-17)ウェブ検索してみると、インドのデリーにある Indian Statistical Institute にウェブサイトがある。https://www.isid.ac.in/~deepayan/ そこの associate professor として、Rのほか、統計学やプログラミング入門をおしえている。そこにある個人情報は大学(ISIの学士)からの学歴・職歴だけだが、ベンガル語についてのページがある。ベンガル語話者にちがいない。Sarkarをショーカーというのは、ベンガル語の発音が英語にとりこまれた形にちがいない。
William Cleveland の発想にもとづいて、Bell研究所の人たちが、S の上で Trellis というグラフ作図ソフトウェアをつくっていた。lattice は、Sarkar が R の上で (Murrell による grid パッケージを利用して) Trellis と互換の機能を実装したところからはじまったパッケージである(その後の発展はかならずしも互換ではない)。
第1章。lattice の特徴がのべられている。
latticeの特徴的な表現方法は「条件つきマルチパネル」だ。データをグループにわけ、グループごとに同じ仕様の図(たとえばヒストグラム)をつくってならべる。軸の要素の大部分は共通だから、別々の図をならべるばあいよりは画面を節約した配置ができる。
ソフトウェアとしての実装の特徴。latticeパッケージの「高水準関数」はグラフを作図する機能をもつのだが、実際は trellis というクラスのオブジェクトをつくる。そのオブジェクトについて print または plot を実行したときに実際の作図がおこなわれる。(ただしふつうは print が自動的によびだされるようにつくられており、この構造を意識しなくてもよい。) グラフの表現をすこしかえたいとき、オブジェクトを加工してから表示するという手順をとれる。(第2章 2.5.3 に update という関数によって加工する例がでてくる。update は第11章 11.3 で説明される。)
第2章。lattice で図をつくるときの基本的なこと。とくに、条件わけが2次元になっていたらどうするか。画面上にパネルを2次元に配置するのが基本だ。ただし、それぞれのパネルの中の図の縦横比が適切かという問題もある。Cleveland によれば (わたしがおぼえているのは Elements of Graphing Data [読書ノート])の1994年版だが、本書の参考文献は1988年の論文)、折れ線が水平から45度の方向にむいているのが見やすい。それも考慮してパネルの配置をくふうしたほうがよい。
第3章。1次元の分布の表現。1次元の散布図のようなもの、密度関数の折れ線グラフ、ヒストグラム、箱ひげ図、「バイオリンプロット」など。また、理論関数あるいは他のデータと組み合わせた Q-Qプロット。
第4章。数量の比較には(棒グラフなどよりも) 線上の dot の位置で値をしめす dot plot がよい (Cleveland の主張。Elementsの1985年版の主要な論点だった)。2次元以上の条件わけのあるとき、グループ内の比較とグループ間の比較が見やすいように dot plot を配置する。
第5章。2変量の散布図。そして、多変量のとき、散布図を総あたりでつくる散布図方陣(scatterplot matrix、本書の表現は「散布図行列」)。なお、そのほかの多次元数量データの表示方法として、「平行座標プロット」がちょっと紹介される。
第6章。3次元の数量を3次元グラフィックスで表示すること。3次元オブジェクトをつくっておいて人の操作で座標軸を回転して観察するというのは、Rのもとでは困難らしい。ここでできるのは、3次元に分布する点の位置を2次元に投影した静止画像だ。自由に回転できないとすると、画面上の長さはデータ値と直接関係がつかないから、Clevelandの基準ではよい可視化方法ではないだろう。ただし、latticeでは、視点をすこしずつ変えた一連の投影図のオブジェクトをつくっておいて比較しながら見ることはできる。これならばよいかもしれない。
ここから第2部。latticeのもつ技術各論。
第7-9章では、lattice のもとでいろいろな指定ができること。
第10章はデータ操作。とくに、カテゴリカル変数である「因子」(factor)や
「シングル」(shingle)を生成してつかうこと。(シングルは数量データの階級わけのようなものだが、となりどうしのかさなりあいをもつ。)
第11章は、trellisオブジェクトを操作すること。第12章は、trellisオブジェクトに対話的操作で要素を追加すること。
ここから第3部。発展的なこと。
第13章。
latticeの関数は、(traditionalな) graphics の関数、たとえば text() とくみあわせてつかうことができない。gridパッケージの関数、たとえば grid.text() とならばくみあわせられるが、text()とは仕様がちがう。そこで、text() とだいたい仕様が共通な panel.text() が用意されている。このほかの graphics の関数についても同様である。
13.5節では、地図への表示が紹介されている。これは maps パッケージによる (Sのもとで Becker が開発したものが R にくわわったのだ。) 口絵のアメリカ合衆国のcounty別ぬりわけを見ると、かなり実用性があるようにおもわれるが、本書だけでは手本としての情報がとぼしい。
第14章。
latticeの拡張として「S3メソッド」と「S4メソッド」というものがあるそうだ。(本書だけでは情報がとぼしいが、外の情報をさがすきっかけにはなる。)
また、あたらしい関数を書くこともできる。【ここで出てくる例が、円グラフ(pie chart)をマルチパネルで配置するものなのだが、Cleveland ならば、円グラフは数量を直観的に知覚する精度が悪いのでよくない、4.2節の例のようにグループごとにドットプロットにするか、帯グラフにせよというだろう。】
折りかえしのあとに 日本語版のくわしい目次をつける。
Continue reading