2016-07-29 11 views
1

私はこれに関する他の答えを見てみましたが、混乱しました。正規分布曲線をggplotに追加しようとしていて、うまくいきません。

私はいくつかのサンプルデータのヒストグラムを持っていますが、これは大丈夫です。私はそれの上に正規分布曲線をオーバーレイして比較しようとしています。私はggplotを使用しています。私は曲線のためのstat_functionを使用しようとしているだけでは表示されません。

この部分は混乱しているかもしれませんが、stat_functionのargsの両方で、基になるヒストグラムとは独立しているはずです。あるいは、それらの1つが同じである必要があります。私はちょうど他のいくつかのサンプルコードを見ています、そして、その場合ヒストグラムから平均を使用し、sdが述べられているように見えます(またはその逆)。 enter image description here

は、ここに私のコードです:

sim_cnt<-1000 
lambda<-.2 
samp_sz<-40 
set.seed(222) 
mn<-1/lambda 
st_dv<-1/lambda 
mns<-sapply(1:sim_cnt,function(x){mean(rexp(samp_sz,lambda))}) 

library(ggplot2) 

g<-ggplot(data=data.frame(mns), aes(x=mns))+ geom_histogram(binwidth=.3, fill="red", color="green")+geom_vline(xintercept=mean(mns),size =1, col="black")+labs(x="Means")+ggtitle("Sample Distribution")+stat_function(fun=dnorm, color="pink",args=list(sd=.7905694,mean=5)) 
g 
+0

これは重複ではありません。もう1つは基礎となるデータを使用していました。これは比較データを使用しています。 – David

答えて

0

赤緑色覚異常は、最も一般的な遺伝性色覚異常であるので、私はあなたのための色は赤と緑に変更しました。私は密度のプロットの帯域幅がヒストグラムbinwidthのそれと一致するように数を.3倍します。

g<-ggplot(data=data.frame(mns), aes(x=mns))+ 
    geom_histogram(binwidth=.3, fill="red", color="blue")+ 
    geom_vline(xintercept=mean(mns),size =1, col="black")+ 
    labs(x="Means")+ ggtitle("Sample Distribution") 
g + stat_density(aes(y = .3 * ..count..), geom = "line", 
       color = "blue", size = 1) 

enter image description here

+1

ありがとうございます。それがスタートです。私はカーブの「塊」について心配していますが、カウントで掛けることから来ていると思います。わからない。曲線を滑らかにする方法はありますか?曲線はヒストグラムのデータを使用するのではなく、ヒストグラムと比較できるように正規分布曲線を表示するだけです。 – David

+0

Ah、分布密度ではありません。この密度プロットの塊は、手順のサンプリングのばらつきによるものです。このミスをしたのは、頻度ではなく数のヒストグラムをプロットしているからです。あなたがそうしているので、y値が.5未満になる通常の密度と比較します。あなたはこれを他の重複した質問の解決策に書き留めます。 – shayaa

+0

重複したものを見ましたが、基になるデータのカーブを基礎データのヒストグラムに置きたいと思っています。これは私のやり方ではありません。また、理論上の標準偏差が間違っていると私の就職の間違いから分かります。これは、5ではなく0.7905694でなければなりません。基礎となるデータのsdは0.808です。 – David

関連する問題