私はr4ds.had.co.nzのセクション3.7でgeom_barを学んでいます。次のようなコードを実行します。
library(ggplot2)
ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut, y = ..prop.., group = 1))
次に、このプロットがあります:
ポイントは、「グループ= 1」の部分を除外すると:
library(ggplot2)
ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut, y = ..prop..))
プロットが間違っている、
しかし、group = 1をgroup = 2またはgroup = "x"に置き換えても、プロットは正しいように見えます。そのため、ここでのgroup = 1の意味とその使用方法についてはよくわかりません。
group="whatever"
は、(ここでは)cut
でグループ化し、一般的にはx変数でグループ化するデフォルトの動作をオーバーライドする「ダミー」グループです。 geom_bar
のデフォルトは、x変数でグループ化して、x変数の各レベルの行数を個別にカウントすることです。たとえば、ここで、デフォルトはgeom_bar
がcut
が "Fair"、 "Good"などに等しい行の数を返すことです。
ただし、比率が必要な場合は、cut
のすべてのレベルを一緒に考慮する必要があります。 2番目のプロットでは、データは最初にcut
でグループ化されるため、cut
の各レベルは個別に考慮されます。 Fair in Fairの割合は100%です。Goodin Goodなどの割合も同様です。group=1
(またはgroup="x"
など)はこれを防ぎます。カットのすべてのレベルに対して相対的であること。
グループは、プロットが特定のカットを含む特定の行を見るのを助け、その割合は、データセット全体の理想的なカットの割合として、データベース全体に対して見つけられます。
グループが使用されない場合、割合はそのフィールドを含むデータに対して計算され、いずれにしても最終的には100%になります。たとえば、理想的なカット固有のデータにおける理想的なカットの割合は1になります。