My (edited) questions are:

- Does glm() provide Std.Errors for the transformed or untransformed parameters?
- If Std.Errors are provided on the scale of the link function, how to obtain them for the parameters on the original (i.e. untransformed) scale?

As an example, given the dataset:

`set.seed(100) dd <- data.frame( group = c(rep("group1", 100),rep("group2", 100)), values = c(rpois(n=100, lambda=2), rpois(n=100, lambda=7)) ) `

I computed the following summary statistics:

`library(doBy) logmean <- function(x){ log(mean(x)) } ss <- summaryBy(values ~ group, data=dd, FUN=c(length, logmean, mean, var, sd) ) ss$SE.normal <- sqrt(ss$values.var/(ss$values.length-1)) ss$sd.Poiss <- sqrt(ss$values.mean) ss$se.Poiss <- sqrt(ss$values.mean/ss$values.length) ss <- cbind(ss[,"group"], round(ss[,-1],3)) names(ss) <- c("group", "N", "log.mean", "mean", "variance", "sd", "SE","sd.Poiss","se.Poiss") `

Object `ss`

looks like this:

` group N log.mean mean variance sd SE sd.Poiss se.Poiss 1 group1 100 0.723 2.06 1.653 1.286 0.129 1.435 0.144 2 group2 100 1.937 6.94 8.340 2.888 0.290 2.634 0.263 `

I then compared these results with those computed by glm():

` glm1 <- glm(values ~ group, data=dd, family="poisson"(link = "log")) `

`ss$log.mean[1]`

coincides with `glm1$coef[1]`

and `ss$log.mean[2]`

coincides with `glm1$coef[1] + glm1$coef[2]`

, but the Std.Errors provided by glm() do not have any correspondence with those I calculated in table `ss`

:

`summary(glm1)$coefficients[, 2] (Intercept) groupgroup2 0.06967330 0.07934287 `

[Note: while mean = exp(log(mean)), the Std.Error of the mean does *not* equals to `exp(summary(glm1)$coefficients[,2])`

].

**Contents**hide

#### Best Answer

This can be done using the package 'emmeans'

`library(emmeans) df = emmeans (glm1, ~ group, type = "response") data.frame(df)[,3] `

[1] 0.1435270 0.2634388