R の facet_wrap() と facet_grid() の違い


ggplot2 パッケージのfacet_grid() 関数facet_wrap()関数はどちらも、プロットのグリッドを生成するために使用できます。

2 つの関数の主な違いは次のとおりです。

  • facet_grid()関数は、一部のプロットが空であっても、指定した変数の組み合わせごとにプロットのグリッドを生成します。
  • facet_wrap()関数は、値を持つ変数の組み合わせのプロットのみを生成します。つまり、空のプロットは生成されません

次の 2 つの例は、次のデータ フレームを使用して、これら 2 つの関数の違いを示しています。

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'G', 'G'),
                 points=c(8, 14, 20, 22, 25, 29, 30, 31),
                 assists=c(10, 5, 5, 3, 8, 6, 9, 12))

#view data frame
df

  team position points assists
1 GA 8 10
2 AG 14 5
3 FY 20 5
4 AF 22 3
5 BG 25 8
6 BG 29 6
7 BG 30 9
8 BG 31 12

例 1: facet_grid() 関数の使用

次のコードは、 facet_grid()を使用して、チームとポジションの組み合わせごとにアシストとポイントの散布図を表示するグリッドを作成する方法を示しています。

 library (ggplot2)

ggplot(df, aes (assists, points)) +
  geom_point() +
  facet_grid(position~team)

元のデータ フレームにチームBポジションFの値が存在しない場合でも、散布図はチームとポジションの組み合わせごとに生成されることに注意してください。

facet_grid()の仕組みは次のとおりです。一部のプロットが空であっても、指定した変数の組み合わせごとにプロットが生成されます。

例 2: facet_wrap() 関数の使用

次のコードは、 facet_wrap()を使用して、既存のチームとポジションの組み合わせごとにアシストとポイントの散布図を表示するグリッドを作成する方法を示しています。

 library (ggplot2)

ggplot(df, aes (assists, points)) +
  geom_point() +
  facet_wrap(position~team)

散布図は、元のデータ フレームに存在するチームポジションの組み合わせに対してのみ作成されることに注意してください。

これは、チームBとポジションFの組み合わせについては、元のデータ フレームにその特定の組み合わせの値が存在しないため、プロットは作成されないことを意味します。

これがfacet_wrap()の仕組みです。空のパスは決して生成されません。

: facet_grid()およびfacet_wrap()関数の完全なガイドについては、ggplot2 のドキュメントを参照してください。

追加リソース

次のチュートリアルでは、ggplot2 で他の一般的なタスクを実行する方法を説明します。

ggplot2でフォントサイズを変更する方法
ggplot2で凡例を削除する方法
ggplot2 で軸ラベルを回転する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です