データのお砂場(151) R言語、diamonds、facetで見方変更?{ggplot2}

Joseph Halfmoon

前回は diamondsデータセットのお値段とカラット数の散布図を作り、clarityなどで各点の色を塗り分けてみました。今回も diamondsデータセットの続きです。今度はfacetを使い、「切り口」を変えたプロットを並べてみたいと思います。1枚のプロットにダイアモンドの「4C」パラメータを全部載せだっ。

※「データのお砂場」投稿順Indexはこちら

※使用させていただいている Rのversionは 4.3.1。RStudioは 2024.04.2+764 “Chocolate Cosmos” です。

ggplot2 チート・シートのURL

お世話になっております ggplot2 の「チート・シート」の在処を再掲しておきます。

https://github.com/rstudio/cheatsheets/blob/main/data-visualization.pdf

これさえあれば機能の非常に多い ggplot2 も使い方一目瞭然。ホントか?

facet_gridで4C全部載せ

ggplot2のfacet機能を使うと1枚のグラフを切り口の違う(層別?)複数のグラフに切り分けて表示することが可能です。

前回でいうと以下のようなグラフに対して

d <- ggplot(diamonds, aes(carat, price)) + geom_point(aes(colour = clarity))
d1 <- d + scale_colour_brewer()

さらにfacet追加すると

d <- ggplot(diamonds, aes(carat, price)) + geom_point(aes(colour = clarity))
d1 <- d + scale_colour_brewer() + facet_grid(cut ~ color, labeller=label_both)
d1 + labs(title="diamonds")

下のようなグラフを得ることができます。diamond_facet

1葉1葉のグラフは、縦ー価格、横ーカラット数に、clarityで色分けしたプロットです。各葉は、横方法 color、縦方向 cut で全データを層別した形です。

上記一枚の中にダイアモンドの品質を表す4パラメータ、4Cが全部盛り込めましたな。素人老人が4C語るのはなんなので、前回も引用させていただきましたが、御本家『GIA』様へのリンクを貼り付けておきます。

ダイヤモンドの品質を表す4C

上のグラフをみると左の方が「勾配がキツく」て、右の方が「勾配が緩い」感じが見てとれます。左の方が良い色(無色)なので色がいいとカラット小さくてもお値段高いのがよく分かります。また、下の方が良いカットなので、カットが良い方がお値段の上の方の伸びが違う感じもします。勿論1葉のグラフ内ではクリアリティの高い(色が青い点)がより上にある感じ。

バイオリン・プロットで数の分布を

cut、clarity、color毎にバイオリン・プロットして、「数量的な分布」を調べてみました。まずはカットね。

ggplot(diamonds, aes(y=price, x=cut)) + geom_violin()

グラフがこちら。violin_cut

右の方がカットが良いハズ。カットが良いものはカラット数が小さいのか価格下目の割合大。一方、左の方はぼでっとした分布。これは多少カットに難あってもカラット数で押し切っている?

ggplot(diamonds, aes(y=price, x=clarity)) + geom_violin()

つづいてクラリティ。violin_clarity

これまた似たような傾向、右に行くほどクラリティが良好。

ggplot(diamonds, aes(y=price, x=color)) + geom_violin()

最後はカラー。こちらは左に行くほど無色(カラー良好)。violin_color

どうも、4C全てを同時に満たすようなものは珍しい(当然か。)カラット数が多いやつはクセ強な感じがしないでもない。

データのお砂場(150) R言語、diamonds、scaleを変えてみる{ggplot2}へ戻る

データのお砂場(152) R言語、economics、米国の経済指標データ{ggplot2} へ進む