【R】ggx
2020年12月14日
1. はじめに
ggplotは、データの可視化を行うために非常に優れたパッケージですが、どうやって書くんだっけ?っていつも忘れてしまいます。そんなときに、直接人間が理解できる言葉で記述できるといいですよね。そんな思いを実現してくれるのが、ggxというパッケージです。
2. インストール
Githubからインストールします。
devtools::install_github("brandmaier/ggx")
3. 使ってみる
まずは、例にあるように、普通のプロットをします。
library(ggplot2)
library(ggx)
ggplot(data=iris,
mapping=aes(x=Sepal.Length,
y=Petal.Length, color=Species))+
geom_point()

このように普通のプロットです。これに、
gg_("hide legend")
「凡例を隠す(hide legend)」と加えると、Legendがなくなります。
ggplot(data=iris,
mapping=aes(x=Sepal.Length,
y=Petal.Length, color=Species))+
geom_point()+
gg_("hide legend")

面白い(笑)!
他のグラフでも試してみます。
ggplot(data=mtcars,
mapping=aes(x=mpg,
y=hp, color=gear, size=cyl, shape = as.factor(carb)))+
geom_point()+
gg_("rotate x-axis labels by 90°")+
gg_("set y-axis label to 'horse power'")+
gg_("I want to flip my x-axis and y-axis.")+
gg_("Paint the label of the y-axis in red")+
gg_("double size the label of the x-axis")

この機能は、キーワードのマッチングで実現しているらしく、多少表現が異なっていても良いらしいです。
また、より安全な策として、ggplotの関数を返してくれる機能もあります。
> gghelp("I want to flip my x-axis and y-axis.")
coord_flip()
> gghelp("Paint the label of the y-axis in green")
theme(axis.title.y=element_text(color='green'))
gghelpで問い合わせて帰ってきたものを記述すれば良いですね。
4. さいごに
人間が分かる言葉で記述できるので正規の関数を忘れてしまっても大丈夫なこのパッケージはすごいですね。ただ、このパッケージのことを忘れるかもしれませんが。。。。
また、似たようなパッケージにggeasyがありますが、これは、記法を覚えておく必要があるので、ちょっと面倒かも。