So it's mixing better but taking much longer. Is this what you'd expect? I had to switch prior=NULL with prior=normal() due to an error.
I haven't looked any deeper and would be willing to if you think it's worth it. The code used to make table is below.
noncentered.fit <-
stan(file='wildflower_nc.stan', data=data, init=inits, pars=pars, chains=1)
noncentered.sims <- extract(noncentered.fit, permuted=FALSE)
noncentered.ess <- monitor(noncentered.sims, print=FALSE)[, 'n_eff']
noncentered.time <- sum(get_elapsed_time(noncentered.fit))
noncentered.df <- data.frame(model='noncentered', minESS=min(noncentered.ess),
time=noncentered.time,
ESS.per.time= min(noncentered.ess)/noncentered.time)
## rstanarm code from Ben Goodrich; modified slightly
flowers <- as.data.frame(data[c('year', 'plant', 'stage', 'Pods', 'toF')])
rstanarm.fit <- stan_glmer(toF ~ stage + Pods + (1 | plant) + (1 | year) + (Pods-1 | plant), family = binomial,
data = flowers, QR = TRUE, prior = NULL, chains=1)
rstanarm.fit2 <- rstanarm.fit$stanfit
rstanarm.sims <- extract(rstanarm.fit2, permuted=FALSE)
rstanarm.ess <- monitor(rstanarm.sims, print=FALSE)[, 'n_eff']
rstanarm.time <- sum(get_elapsed_time(rstanarm.fit2))
rstanarm.eff <- min(rstanarm.ess)/rstanarm.time
rstanarm.df <- data.frame(model='rstanarm', minESS=min(rstanarm.ess),
time=rstanarm.time,
ESS.per.time= min(rstanarm.ess)/rstanarm.time)
print(rbind(noncentered.df, rstanarm.df), digits=3)