2011-12-02 75 views
0

我有一些数据看起来像服从高斯分布。所以我用如何在R语言中服从高斯分布的数据上绘制高斯曲线?

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 

我想他们合身。但是,我怎样才能在这些数据上绘制高斯曲线?

+0

您是否尝试过的情节(my.glm)? –

+5

你真的明白家庭=高斯的意思吗?它与你的数据分布无关,但与你的变量之间的关系有关。其称“a1是具有不相关高斯噪声的b1 *的线性函数”。现在再次问你的问题。 – Spacedman

回答

0

简单:?dnorm

使用dnorm创建所需的均值和±标准差的高斯曲线而无需将自己绑定到任何数字拟合的功能上。这是一种简单而好的方式来展示您的数据如何“符合”理论曲线。与绘制拟合数据并试图找出它与高斯“有多接近”不同。

+0

也许我在我衰败的岁月里得到了剔骨,但是whazzup w/downvote?那家伙确实问过如何绘制高斯图,而不是如何绘制高斯图。 –

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