うなぎの記

生きるのがド下手くそなうなぎの日記

RでX軸の順番を変更したい時

「表示される水準の順番を変更したい時」と言った方がいいのかもしれない。

 

棒グラフなどで、X軸の並びを変えたい時がある。

デフォルトだと文字はアルファベット順、数字は昇順らしく、ググってもやり方が出てこなくて悩んでいたが、図書館で本を見つけてあっさり解決したのでメモ。

前提:
・ggplotで、データを格納した変数dの棒グラフを描画している
・X軸(水準)には、d$type(変数dに格納したデータの、typeという項目の値)が A, B の順番で表示されている

変更方法:
・tidyverseパッケージをインストール
・fct_inorder()を使って、変更したい順番を指定
 d$type <- fct_relevel(d$type, "B", "A")
・その後、変数dを指定してggplot
 →これで水準の順番が B, A に変わる。

正確には、tidyverseに入っているforcatsというパッケージの関数を使っているらしい。