2

数値 x 変数を ggplot2 の係数でグループ化された相対頻度にマップする棒グラフをプロットする方法を誰かが答えることができますか? 重要なことは、相対度数は、1 つの因子に属する x 値内のグループごとの度数として計算する必要があるということです。現在、それらは x 値の総数に対する x 値として計算されます。

それを説明するために、例:

library(ggplot2)

data <-data.frame(x=runif(100,0:1), f=sample(1:3,100,replace=TRUE))
data$f <-factor(data$f)
p <-ggplot(data, aes(x, colour=f, fill=f, group=f)) +
    xlim(0,1) +
    scale_y_continuous('Relative Frequency', formatter='percent') # or labels=percent

それらをファセットにプロットしてみましょう。次に、y 軸は、割合がグループごとに計算されることを示します。私はこのコードを使用しました:

p + stat_bin(aes(y=..count../sum(..count..)), position='dodge', binwidth=0.2) +         facet_grid(~f)

それらをかわしてプロットしましょう。Y 軸は、比率がデータセット全体を参照していることを示しています。ここでは、次のコードを使用しました。

p + stat_bin(aes(y=..count../sum(..count..)), position='dodge', binwidth=0.2)

y 軸にグループごとの変数の頻度を使用して、2 番目のようなプロットを作成することを目指しています。

事前に助けてくれてありがとう!ジャナ

4

1 に答える 1

2

私はあなたと同じ問題に直面していましたが、それを理解しました: plotting の代わりに..count../sum(..count..)、 plot..density..*your_binwidth 確かに、..density..bin stat によって作成された変数は、基本的にはプロポーション/バインド幅に等しくなります。コードは次のようになります。

p + stat_bin(aes(y=..density..*0.2), position='dodge', binwidth=0.2)
于 2012-04-16T09:31:12.867 に答える