2013-06-18 49 views
7

私は完全に把握できない奇妙な問題に直面しました。 私はヒストグラムに正規分布線を追加することになっています。すべてのステップのコードを入力しますが、行を入力すると応答はありません。私は何が間違っているのか分からない。希望の人が私を助ける! MYコードは:ヒストグラムに正規分布線を追加する

grades<-mydata$Exam1 
hist(grades,breaks=20,freq=T) #A correct histogram comes out. 
mean(grades,na.rm=T) #there is NA in the column so I remove it when calculating mean. 
[1] 75.15278 

sd(grades,na.rm=T) 
[1] 16.97443 

x<-seq(0,100,0.01) 
y<-dnorm(x,mean=mean(grades,na.rm=T),sd=sd(grades,na.rm=T)) 
lines(x,y)#and there's no response!no line showed up! 

私のコードに問題はありませんか? ご協力いただきありがとうございます!

答えて

19

私はそれがRのコードだと仮定し - そして、これを試してみてください。

grades <- mydata$Exam1 
hist(grades, prob=TRUE) 
curve(dnorm(x, mean=mean(grades), sd=sd(grades)), add=TRUE) 

注意をあなたがヒストグラムに正規分布を比較した場合、あなたはおそらくヒストグラムは確率ではなく、周波数を表示すること。

+1

良い点。あるいは、関数が返すhist $ countsの値を正規化することもできます。 –

+0

何が間違っているのか分かります。本当にありがとう! – zhang525986

4

hist(*, freq=FALSE)を入力してください。freq=TRUEではありません。

+0

?それは彼の 'x'と' y'の計算と何が関係がありますか? –

+3

@carlwitthoft Nothing。 xとyの計算は問題ありません。ヒストグラムは、密度が表示されるために間違ったスケールでプロットされます。 –

関連する問題