今回はRのパッケージggplot2を使って色々なグラフを作成してみたいと思います。
ggplot2とは
Rには様々なデータを可視化する方法がありますが、その中でもggplot2は比較的簡単に綺麗なグラフを作成することができます。
ggplot2は入力すべき情報とオプションが統一されているため、あるグラフで使い方を覚えてしまえば、他の種類のグラフを作成する際にも同じ使い方でグラフを作成することができます。
また、他のパッケージと比べて関数の種類ごとに使い方やオプションを覚える必要がないので、学習効率が良いと思います。
ggplot2のインストール
それでは早速ggplot2をインストールしてみましょう。
Rのコンソールから以下のようにコマンドを実行すればOKです。
同時にサンプルデータを取得するために「gcookbook」もインストールしておきましょう。
install.packages("ggplot2")
install.packages("gcookbook")
library(ggplot2)
library(gcookbook)
棒グラフを作成してみる
それではまずは棒グラフから作成してみましょう。
今回使うデータを見てみましょう。今回はgcookbookの中にあるpg_meanというデータを使います。
棒グラフを作成するときはgeom_bar()をたしてやることでできます。
もし折れ線グラフを作成したい場合はgeom_lineと記述することで作成することができます。
> pg_mean
group weight
1 ctrl 5.032
2 trt1 4.661
3 trt2 5.526
グラフのプロット
ggplot(pg_mean, aes(x = group, y = weight)) + geom_bar(stat = "identity")
色をつける
先ほどの棒グラフに色をつけてみましょう。geom_barの中にfillとcolourを指定するだけで色をつけることができます。
ggplot(pg_mean, aes(x = group, y = weight)) +
geom_bar(stat = "identity", fill = "lightblue", colour = "black")
グループ化する
次は棒グラフをグループ化してみましょう。グループ化する方法はfillに変数を与えて、geom_bar("position="dodge")を用います。
次に使うデータセットは2つのカテゴリがあります。カテゴリごとにグループ化し、棒グラフを作成してみましょう。
> cabbage_exp
Cultivar Date Weight sd n se
1 c39 d16 3.18 0.9566144 10 0.30250803
2 c39 d20 2.80 0.2788867 10 0.08819171
3 c39 d21 2.74 0.9834181 10 0.31098410
4 c52 d16 2.26 0.4452215 10 0.14079141
5 c52 d20 3.11 0.7908505 10 0.25008887
6 c52 d21 1.47 0.2110819 10 0.06674995
> ggplot(cabbage_exp, aes(x = Date, y = Weight, fill = Cultivar)) +
geom_bar(stat = "identity", position = "dodge")
ドットプロット
最後はドットプロットを作成してみたいと思います。
ドットプロットの場合は一番簡単な方法として、geom_point()と記述することで作成することができます。
tophit <- tophitters2001[1:25,]
tophit
ggplot(tophit, aes(x = avg, y = name)) + geom_point()
これでも良いのですがせっかくなのでドットのサイズや体裁を整えてみましょう。
ggplot(tophit, aes(x = avg, y = reorder(name, avg))) +
geom_point(size = 3) + #ドットのサイズを変更
theme_bw() + #背景色をなくす
theme(axis.text.x = element_text(angle = 60, hjust = 1),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.x = element_line(colour = "grey60", linetype = "dashed"))
avgでソートしたのでさっきのグラフよりは見やすくなりました!
このようにggplot2は綺麗なグラフが簡単に書けるのでオススメです。最初はわからないことばかりでつまずくかもしれませんが、Rを使っていくのであればggplotを使いこなせるようになった方がRだけで分析結果のアウトプットもできるため良いと思います。
次回は折れ線グラフなどを紹介したいと思います。