[R] Where is the SD in output of glm with Gaussian distribution

Marc Girondot m@rc_grt @end|ng |rom y@hoo@|r
Mon Dec 9 16:16:25 CET 2019


Let do a simple glm:

 > y=rnorm(100)
 > gnul <- glm(y ~ 1)
 > gnul$coefficients
(Intercept)
   0.1399966

The logLik shows the fit of two parameters (DF=2) (intercept) and sd

 > logLik(gnul)
'log Lik.' -138.7902 (df=2)

But where is the sd term in the glm object?

If I do the same with optim, I can have its value

 > dnormx <- function(x, data) {1E9*-sum(dnorm(data, mean=x["mean"], 
sd=x["sd"], log = TRUE))}
 > parg <- c(mean=0, sd=1)
 > o0 <- optim(par = parg, fn=dnormx, data=y, method="BFGS")
 > o0$value/1E9
[1] 138.7902
 > o0$par
      mean        sd

0.1399966 0.9694405

But I would like have the value in the glm.

(and in the meantime, I don't understand why gnul$df.residual returned 
99... for me it should be 98=100 - number of observations) -1 (for mean) 
- 1 (for sd); but it is statistical question... I have asked it in 
crossvalidated [no answer still] !)

Thanks

Marc



More information about the R-help mailing list