curve()我需要使用和在直方圖上覆寫正態分布dnorm()。dnorm不應該有我的資料的引數,而是平均值 = 0 和 sd = 5 的廣義正態分布。
使用這個網站和很多教程,我希望代碼是
hist(mtcars$mpg)
curve(dnorm(x, 0, 5), add= TRUE, col="red")
但我得到的只是一條平線。如果我使用一個獨立的例子,省略add=TRUE我得到所需的密度函式:
curve(dnorm(x, 0, 5), col="red")
有誰知道我犯了什么錯誤?
uj5u.com熱心網友回復:
在資料范圍 (10-35) 中,正態分布的概率非常小,平均值為 0,SD 為 5(即曲線開始于分布的 95% 置信區間的上端)。
如果我們添加freq= FALSE到hist()呼叫中(如果您想將概率分布與直方圖進行比較,這是適當的),我們可以在開始時看到一點紅色曲線(如果您想要尾部也可以乘以一個常數更明顯)。(為平均值的更合理值顯示的分布以及[藍線]。)
## png("tmp.png"); par(las=1, bty="l")
hist(mtcars$mpg, freq=FALSE)
curve(dnorm(x, 0, 5), add = TRUE, col = "red")
curve(dnorm(x, 20, 5), add = TRUE, col = "blue")
## dev.off()

從圖形上看,如果您對正態分布曲線下的區域進行著色,這可能會更清晰/更明顯
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/420126.html
標籤:
