web-dev-qa-db-ja.com

ggplot geom_bar:aesの意味(グループ= 1)

私はr4ds.had.co.nzのセクション3.7でgeom_barを学んでいます。次のようなコードを実行します。

library(ggplot2)
ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut, y = ..prop.., group = 1))

次に、このプロットがあります: click here

ポイントは、「グループ= 1」の部分を除外すると:

library(ggplot2)
ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut, y = ..prop..))

プロットが間違っている、 like this

しかし、group = 1をgroup = 2またはgroup = "x"に置き換えても、プロットは正しいように見えます。そのため、ここでのgroup = 1の意味とその使用方法についてはよくわかりません。

23
Novembrain

group="whatever"は、(ここでは)cutでグループ化し、一般的にはx変数でグループ化するデフォルトの動作をオーバーライドする「ダミー」グループです。 geom_barのデフォルトは、x変数でグループ化して、x変数の各レベルの行数を個別にカウントすることです。たとえば、ここで、デフォルトはgeom_barcutが "Fair"、 "Good"などに等しい行の数を返すことです。

ただし、比率が必要な場合は、cutのすべてのレベルを一緒に考慮する必要があります。 2番目のプロットでは、データは最初にcutでグループ化されるため、cutの各レベルは個別に考慮されます。 Fair in Fairの割合は100%です。Goodin Goodなどの割合も同様です。group=1(またはgroup="x"など)はこれを防ぎます。カットのすべてのレベルに対して相対的であること。

39
eipi10

グループは、プロットが特定のカットを含む特定の行を見るのを助け、その割合は、データセット全体の理想的なカットの割合として、データベース全体に対して見つけられます。

グループが使用されない場合、割合はそのフィールドを含むデータに対して計算され、いずれにしても最終的には100%になります。たとえば、理想的なカット固有のデータにおける理想的なカットの割合は1になります。

0
tejas lad