www.crosshyou.info

政府統計の総合窓口のデータや、OECDやUCIやのデータを使って、Rの練習をしています。ときどき、読書記録も載せています。

各地の気温と降水量の分析6 - ggplot関数で散布図を描く

最近、もっとかっこいいグラフやかっこいい分析をしたいと思い、

 

Rではじめるデータサイエンス

Rではじめるデータサイエンス

 

 を買ってちょっとずつ読んでいます。

はじめの章でggplot関数の解説があったので、各地の気温と降水量のデータで練習してみようと思います。

まずは、前回までで、こんなデータフレームをR言語で作成しました。

f:id:cross_hyou:20181011080654j:plain

このデータフレームは変数はすべて数値データですので、カテゴリカル変数を一つ追加しましょう。単純に「東日本」「西日本」というものを作成しましょう。

f:id:cross_hyou:20181011080858j:plain

まず、rownames(data2)のコマンドで東日本が何番目までかを確認します。今回は24番目のa24津までを東日本としました。

そして、data2 <- c(rep("東日本",24), rep("西日本",23))というコマンドで「東日本」が24回繰り返し、「西日本」が23回繰り返すベクトルを作成し、data2 <- cbin(地域, data2)というコマンドでcbind関数を使い、地域のベクトルとdata2のデータフレームを結合しています。head関数ではじめの6行を表示していると、「地域」が加わっていることが確認できます。

これでデータフレームの準備は整いました。まずは、library(tidyverse)でggplot関数が入っているパッケージを呼び出します。

f:id:cross_hyou:20181011081538j:plain

あとはggplot関数を使うだけです。

f:id:cross_hyou:20181011082245j:plain

f:id:cross_hyou:20181011082311j:plain

画面の左側、平均気温が低いほうに東日本が多く、右側、平均気温が高いほうに西日本が多くプロットされているのがわかりますね。

ggplot(data = data2) + のコマンドで、data2のデータでグラフを作ります、と指定していて、geom_point(mappin = aes( x = V平均気温, y = V平均降水量 のコマンドでX軸がV平均気温、Y軸がV平均降水量の散布図を描いて、color = 地域 のコマンドで地域で色分けしなさい、と指定しています。

colorの他にも、size、shape, alphaがあるようなのでそれぞれやってみます。

f:id:cross_hyou:20181011083101j:plain

f:id:cross_hyou:20181011083116j:plain

sizeを地域で使うことはnot advisedって警告メッセージが出ていますね。地域のような数値データでないものにsizeを使うのは推奨されていないようです。

V降水量差でやってみましょう。

f:id:cross_hyou:20181011083700j:plain

f:id:cross_hyou:20181011083740j:plain

平均気温が高い地域、平均降水量が多い地域のほうがV降水量差はある感じですね。

shapeではどうなるでしょうか?地域でやってみます。

f:id:cross_hyou:20181011084223j:plain

f:id:cross_hyou:20181011084238j:plain

西日本がマル、東日本が三角で表示されました。

alphaではどうでしょうか?

f:id:cross_hyou:20181011084714j:plain

f:id:cross_hyou:20181011084722j:plain

alphaもsizeと同じで地域のようなカテゴリカル変数には適していないようです。西日本が薄く、東日本が濃い色でプロットされました。

それでは、alphaをV降水量差でやってみましょう。

f:id:cross_hyou:20181011085159j:plain

f:id:cross_hyou:20181011085209j:plain

V降水量の値によって色の濃さが調節されています。

以上、R言語のggplot関数で散布図を作成してみました。