如何在数据上绘制高斯曲线,遵循R语言的高斯分布?

时间:2011-12-02 09:06:43

标签: r gaussian

我有一些看起来像服从高斯分布的数据。所以我用

my.glm<- glm(b1~a1,family=Gaussian)

然后使用命令

summary(my.glm)

结果是:

Call:
glm(formula = b1 ~ a1, family = gaussian)

Deviance Residuals: 
      Min         1Q     Median         3Q        Max  
-0.067556  -0.029598   0.002121   0.030980   0.044499  

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.433697   0.018629   23.28 1.36e-12 ***
a1          -0.027146   0.001927  -14.09 1.16e-09 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

(Dispersion parameter for gaussian family taken to be 0.001262014)

Null deviance: 0.268224  on 15  degrees of freedom
Residual deviance: 0.017668  on 14  degrees of freedom
AIC: -57.531

Number of Fisher Scoring iterations: 2

我认为他们很合适。但是我如何在这些数据上绘制高斯曲线?

2 个答案:

答案 0 :(得分:1)

假设截距具有正态分布,您可以像这样绘制其分布:

x <- seq(0.3,0.6,by =0.001)
plot(x, dnorm(x, 0.433697, 0.018629), type = 'l')

您可能想要添加数据:

rug(b1)

由于您没有提供数据,我们可以进行一些操作(通过一些变换来匹配示例中的统计数据):

set.seed(0)
b <- rnorm(15)
b1 <- ((b - mean(b))/sd(b)  * 0.018629) + 0.433697
rug(b1)

您还可以覆盖数据的核密度估计值

lines(density(b1), col = 'red')

给出以下情节:

enter image description here

答案 1 :(得分:0)

简单:?dnorm

使用dnorm创建所需均值和s.d的高斯曲线。没有把自己绑在任何数字拟合的功能上。这是一种简单而好的方式,可以显示数据如何“适合”理论曲线。与绘制拟合数据并试图弄清楚它与高斯的“接近程度”不同。