2

重複の可能性:
ggplot2: 密度曲線を使用したオーバーレイ ヒストグラム

おそらく簡単な質問で申し訳ありませんが、少し問題があります。

10000 サンプルで平均 = 0.65 および sd = 0.015 の二項分布に基づくヒストグラムを作成しました。ヒストグラム自体は問題ないようです。ただし、これに正規分布を重ねる必要があります (平均と標準偏差は同じです)。現在、私は以下を持っています:

qplot(x, data=prob, geom="histogram", binwidth=.05) + stat_function(geom="line", fun=dnorm, arg=list(平均=0.65, sd=0.015))

ディストリビューションが表示されますが、小さいです。これは、正規分布がはるかに小さいのに対し、平均のカウントがほぼ 2,000 になるためと考えられます。簡単に言えば、R が自動的に行う方法でデータを適合させることはできません。ヒストグラムに適合するように正規分布の線を指定する方法はありますか、または正規分布に適合するようにヒストグラムを操作する方法はありますか?

前もって感謝します。

4

2 に答える 2

2

カウントに対して密度関数をプロットしているため、「分布は小さい」。両方のプロットで同じメトリックを使用する必要があります。例:

私はあなたの例のためにいくつかのデータを生成しようとします:

x <- rbinom(10000, 10, 0.15)
prob <- data.frame(x=x/(mean(x)/0.65))

そして、両方を密度関数としてプロットします。

library(ggplot2)
ggplot(prob, aes(x=x)) + geom_histogram(aes(y = ..density..), binwidth=.05) + stat_function(geom="line", fun=dnorm, arg=list(mean=0.65, sd=0.015))

ここに画像の説明を入力してください

于 2011-11-13T13:38:37.307 に答える
2

@daroczigの答えは、カウントではなく密度をプロットする際に一貫性を保つ必要があることについて正しいですが、これらのプロパティを使用して二項サンプルを取得する方法がわかりません。特に、二項分布の平均はn*p、分散はn*p*(1-p)、標準偏差はsqrt(n*p*(1-p))です。

b.m <- 0.65
b.sd <- 0.015

分散を計算します。

b.v <- b.sd^2  ## n*p*(1-p)

計算p:

## (1-p) = b.v/(n*p) = b.v/b.m
## p = 1-b.v/b.m
b.p <- 1-b.v/b.m

計算n:

## n = n*p/p = b.m/b.p
b.n <- b.m/b.p

これによりn=0.6502251、 -代数を台無しにしない限り、p=0.9996538なしでこの二項分布を取得する方法がわかりません...n<1

于 2011-11-13T14:01:31.707 に答える