2016-09-23 14 views
1

私はこの問題について助けが必要です。 私はこのコードのこの指数分布アウトプロットすると:y軸の間隔が変更される

x<-runif(100) 
y<--log(1-x) 
hist(y) 

を、私はこのプロットを得る: enter image description here

をしかし、私は私のヒストグラムの指数曲線を追加するとき、y値のための間隔がいるようです100で分ける?

コードの唯一の違いは、これらの2つの新しいラインです:

hist(y,prob=TRUE) 
curve(dexp(x, rate = 0.8), col = 2, lty = 2, lwd = 2, add = TRUE) 

enter image description here

イムRにbeginnnerので、誰かがこの問題で私を助けることができれば幸いです。 2番目のプロットも最初のプロットと同じ間隔にしたい。

私のコードの最初の行で100個の値xを生成するので、最初のプロットの間隔は正しいと思います。したがって、私たちの "棒"のy値の合計は100に等しいはずですか?または私は間違っていると思いますか?

+0

'prob = TRUE'を設定すると、countの代わりに確率密度が得られます。 – mtoto

+0

さて、どうお勧めしますか? – Biggiez

+0

以下の回答を参照してください – mtoto

答えて

0

あなたは、通常の1の上の空白の濃度ヒストグラムを描き、その結果、曲線を追加することができます。プロットが原因runif()におけるランダム性の異なる見えること

hist(y, border = "black") 
par(new = TRUE) # allows us to draw new plot on top of first one 
hist(y, probability = TRUE, 
    axes = FALSE, border = "white", 
    xlab = "", ylab = "", main = "") 
curve(dexp(x, rate = 0.8), 
     col = 2, lty = 2, 
     lwd = 2, add = TRUE) 

enter image description here

注意を。

+0

このコードを実行すると、バーが表示されませんか? – Biggiez

+0

おそらく、 'border =" gray50 "'は、バーを見るために 'border =" white "'より良いでしょう。 – Gregor

+0

@Biggiez更新を参照して、最初のプロットに対して 'border =" black "'を設定する必要があります。 – mtoto

関連する問題