2

ggplotgeom_histogramgeom_density両方がx美学を期待しており、それぞれがそのドメイン全体の変数の発生率を調べます。

いくつかの分布のドメインと発生率の両方を出力する関数があります(つまり、イベントをカウント可能な形式ではなく、既にカウントされた形式で表示します)。

実際の値セットは外部ライブラリから取得されるため、ここで例を設定します。この分布をプロットしたいと思います:

data <- data.frame(depth=seq(0,20), incidence=seq(0,20)^1.5)
ggplot() + geom_density (aes(x=depth, y=incidence), data=data, fill='lightblue')

上記は機能しません。もちろん、x=depth または x=incidence を単独で使用してプロットを生成することもできますが、x 変数はイベントをカウントする変数と見なされるため、どちらも正しくありません。

データフレームを取得して、深さごとに行を生成することができると思います。ここで、行の数は発生数に対応します。これは、部分的な発生率ではより複雑になりますが、スケーリングできます。

質問: イベントではなく発生率を指定して ggplot で密度プロットを生成する方法はありますか? そうでない場合は、次のようなものを使用できると思います。

c (apply (data, 1, function(r) rep(r[1], r[2])), recursive=TRUE)

イベントの離散近似を生成します。ggplot 内での直接的な方法の方がよいでしょう。

4

1 に答える 1

0

やるべきことは明らかです。

qplot(depth, data = data, weight = incidence, geom = "histogram", binwidth = 1)

これを行う必要がある場合geom_histogramは、少し長くなります

ggplot(data , aes(x = depth)) + 
       geom_histogram(binwidth = 1, aes(weight = incidence))

生産

ここに画像の説明を入力

于 2012-08-19T16:39:37.207 に答える