Why is bootstrapping binomial models producing negative estimates? I'm fitting a mixed effects model to binomial data using lme4, and I'd like to bootstrap individual coefficient values. When I do so using bootMer(), however, I'm getting negative values even though I'm fitting a zero-intercept model. Here's the distribution of bootstrapped coefficient values (for the second coefficient). If this were doing what I'm intending, negative values should be impossible -- any ideas where I'm going wrong?

Here's sufficient code to replicate my analysis.
library(lme4)
dat = data.frame(era = c("recent past", "recent past", "current", "current", "current"),
                    thanksgiving.count = c(167582, 147343, 25253, 21944, 1642),
                    newyear.count = c(94908, 74728, 16063, 11970, 1039), 
                    years = c("2016-2017", "2017-2018", "2018-2019", "2019-2020", "2020-2021"))

fit = glmer(cbind(newyear.count, 
                  thanksgiving.count - newyear.count) ~ -1 + era + (1 | years), 
            data = dat, 
            family = binomial(link = "logit"))
temp = lme4::bootMer(fit, FUN = fixef, type="parametric", seed=10, nsim=10)
boots = temp$t
apply(boots, 2, range)



The real question is what you believe the "t" is in this case. Since you've dropped the intercept but included era as a factor, R's formula works behind the scenes and creates this model matrix. When you select t as an object from temp, you actually have the model coefficients from both eras aggregated together in the histogram.
> model.matrix(~ -1 + era , dat)
  eracurrent erarecent past
1          0              1
2          0              1
3          1              0
4          1              0
5          1              0

In other words, it's an ANOVA encoding and the interpretation of effects is a log odds. A negative log odds tells you that the probability of something is less than 50%. While no proportion of the actual response is less than 50%, you chose the option of "parametric" bootstrap, which simulates the response. Given that, it's not too hard to imagine that R is going to simulate a few responses where the count is less than 50% i.e. log odds is less than 0
