[R-sig-ME] Zero cells in contrast matrix problem

Ben Bolker bbolker at gmail.com
Mon Oct 26 13:57:42 CET 2015


at this point, if I were you I would set

options(error=recover)

and debug at the point at which the program stops: this will be at
this point in the code:

if (length(cov) == p) {
      cov <- diag(cov, p)
    } else if (length(cov) != p^2) {
      stop("normal prior covariance of improper length")
    }

so you should be able to print(p) to find out the appropriate size.


On Mon, Oct 26, 2015 at 7:37 AM, Francesco Romano
<francescobryanromano at gmail.com> wrote:
> Nope.
>
>> revanaA<-
>> bglmer(Correct~Syntax*Animacy*Prof.group.2+(1|Part.name)+(1|Item), data =
>> revana, family = binomial, fixef.prior = normal(cov = diag(9,14)))
> fixed-effect model matrix is rank deficient so dropping 2 columns /
> coefficients
> Error in normal(cov = cov, common.scale = FALSE) :
>   normal prior covariance of improper length
>
> Could it be that I need three separate priors, one for each effect?
>
> On Mon, Oct 26, 2015 at 12:25 PM, Ben Bolker <bbolker at gmail.com> wrote:
>>
>> Ah.  So try normal(cov=diag(9,14)) ...
>>
>> On Mon, Oct 26, 2015 at 7:18 AM, Francesco Romano
>> <francescobryanromano at gmail.com> wrote:
>> > For some reason the silly bugger didn't past the full command:
>> >
>> >> revanaA<-
>> >> bglmer(Correct~Syntax*Animacy*Prof.group.2+(1|Part.name)+(1|Item), data
>> >> =
>> >> revana, family = binomial, fixef.prior = normal(cov = diag(9,16)))
>> > fixed-effect model matrix is rank deficient so dropping 2 columns /
>> > coefficients
>> > Error in normal(cov = cov, common.scale = FALSE) :
>> >   normal prior covariance of improper length
>> >
>> > To give more info on this, it is the Animacy factor that is causing
>> > separation because two levels of it have zero counts in some cases.
>> >
>> > On Mon, Oct 26, 2015 at 12:13 PM, Ben Bolker <bbolker at gmail.com> wrote:
>> >>
>> >> Well, that's a separate problem (and not necessarily a "problem").   R
>> >> is telling you that you have 16 separate combinations of the factors,
>> >> but only 14 unique combinations represented in your data set, so it
>> >> can only estimate 14 parameters.  Unless there is a weird interaction
>> >> with blme I don't know about, this should still give you reasonable
>> >> answers.
>> >>
>> >> On Mon, Oct 26, 2015 at 7:10 AM, Francesco Romano
>> >> <francescobryanromano at gmail.com> wrote:
>> >> > Many thanks Ben,
>> >> >
>> >> > but I tried that already:
>> >> >
>> >> >> revanaA<-
>> >> >> bglmer(Correct~Syntax*Animacy*Prof.group.2+(1|Part.name)+(1|Item),
>> >> >> data
>> >> >> =
>> >> >> revana, family = binomial, fixef.prior = normal(cov = diag(9,16)))
>> >> > fixed-effect model matrix is rank deficient so dropping 2 columns /
>> >> > coefficients
>> >> > Error in normal(cov = cov, common.scale = FALSE) :
>> >> >   normal prior covariance of improper length
>> >> >
>> >> > On Mon, Oct 26, 2015 at 12:06 PM, Ben Bolker <bbolker at gmail.com>
>> >> > wrote:
>> >> >>
>> >> >> On 15-10-26 06:56 AM, Francesco Romano wrote:
>> >> >> > I wonder if anyone can help with the separation problem originally
>> >> >> > solved
>> >> >> > by Ben Bolker (see thread).
>> >> >> > The model and fitting I used previously was
>> >> >> >
>> >> >> > trial<-bglmer(Correct ~ Syntax.Semantics, data = trialglm, family
>> >> >> > =
>> >> >> > binomial, fixef.prior = normal(cov = diag(9,4))
>> >> >> >
>> >> >> > which now has to change because the Syntax.Semantcs factor needs
>> >> >> > to
>> >> >> > be
>> >> >> > split into separate
>> >> >> > within-subjects variables, Syntax, a factor with two levels, and
>> >> >> > Animacy, a
>> >> >> > factor with four levels.
>> >> >> > In addition a new between-subjects factor called Group with two
>> >> >> > levels
>> >> >> > (native vs non-native speaker)
>> >> >> > has to be added which determines the following model, fit by
>> >> >> > bglmer:
>> >> >> >
>> >> >> > trial<-bglmer(Correct ~ Syntax*Animacy*Group+
>> >> >> > (1|Part.name)+(1|Item),
>> >> >> > data
>> >> >> > = trialglm, family = binomial,
>> >> >> > fixef.prior = normal(cov = diag???)
>> >> >> >
>> >> >> > What values should I use for the cov=diag portion in order to
>> >> >> > continue
>> >> >> > attempting convergence of a model
>> >> >> > that includes the random effects?
>> >> >>
>> >> >>     In general a reasonable form is normal(cov = diag(v,np)) where v
>> >> >> is
>> >> >> the prior variance (generally something reasonably
>> >> >> large/non-informative; 9 (=std dev of 3) is probably an OK default)
>> >> >> and
>> >> >> np is the number of fixed-effect parameters.  You can figure this
>> >> >> out
>> >> >> via
>> >> >>
>> >> >> ncol(model.matrix(~Syntax*Animacy*Group,data=trialglm)
>> >> >>
>> >> >> or multiply 2*4*2 to get 16 ...
>> >> >>
>> >> >> >
>> >> >> > R returns the following error because I don't know how to
>> >> >> > establish
>> >> >> > the
>> >> >> > parameters when more than one
>> >> >> > fixed effect is involved:
>> >> >> >
>> >> >> > Error in normal(cov = cov, common.scale = FALSE) :
>> >> >> >   normal prior covariance of improper length
>> >> >> >
>> >> >> > Many thanks in advance for any help!
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > On Thu, May 28, 2015 at 10:46 PM, Ben Bolker <bbolker at gmail.com>
>> >> >> > wrote:
>> >> >> >
>> >> >> >>   I don't see your data -- I see a little tiny subset, but that's
>> >> >> >> not
>> >> >> >> really enough for a reproducible example.
>> >> >> >>
>> >> >> >> This is the example given in the URL I sent:
>> >> >> >>
>> >> >> >> cmod_blme_L2 <- bglmer(predation~ttt+(1|block),data=newdat,
>> >> >> >>                        family=binomial,
>> >> >> >>                        fixef.prior = normal(cov = diag(9,4)))
>> >> >> >>
>> >> >> >> trial<-bglmer(Correct ~ Syntax.Semantics+(1|Part.name),
>> >> >> >>           data =trialglm,
>> >> >> >>          family = binomial,
>> >> >> >>         fixef.prior = normal(cov=diag(9,8)))
>> >> >> >>
>> >> >> >> The last line specifies an 8x8 matrix (because you have 8 fixed
>> >> >> >> effect
>> >> >> >> parameters) with a value of 9 on the diagonal, meaning the priors
>> >> >> >> for
>> >> >> >> the fixed effects are independent and each is Normal with a sd of
>> >> >> >> sqrt(9)=3.
>> >> >> >>
>> >> >> >>
>> >> >> >> On Thu, May 28, 2015 at 3:25 PM, Francesco Romano
>> >> >> >> <francescobryanromano at gmail.com> wrote:
>> >> >> >>> Yes but this seems a bit above my head without your help. The
>> >> >> >>> data
>> >> >> >>> are
>> >> >> >>> in
>> >> >> >>> the three variables at the bottom of my email but I forgot to
>> >> >> >>> mention
>> >> >> >>> the
>> >> >> >>> random participant effect (n = 17). Thanks!
>> >> >> >>>
>> >> >> >>>
>> >> >> >>> Il giovedì 28 maggio 2015, Ben Bolker <bbolker at gmail.com> ha
>> >> >> >>> scritto:
>> >> >> >>>>
>> >> >> > On 15-05-28 06:55 AM, Francesco Romano wrote:
>> >> >> >>>>>> Many thanks to both.
>> >> >> >>>>>>
>> >> >> >>>>>> The approaches you suggest (and others online) help one deal
>> >> >> >>>>>> with
>> >> >> >>>>>> the separation problem but don't offer any specific advice as
>> >> >> >>>>>> to
>> >> >> >>>>>> how getting a valid p coefficient when comparing two levels
>> >> >> >>>>>> of
>> >> >> >>>>>> the
>> >> >> >>>>>> model vexed by separation.
>> >> >> >>>>>>
>> >> >> >>>>>> Ben, here's the output of the bglmer which by the way would
>> >> >> >>>>>> be
>> >> >> >>>>>> ideal since it allows me to retain the random effect so that
>> >> >> >>>>>> all
>> >> >> >>>>>> my
>> >> >> >>>>>> pairwise comparisons are conducted using mixed effects.
>> >> >> >>>>>>
>> >> >> >>>>>>> trial<-bglmer(Correct ~ Syntax.Semantics+(1|Part.name), data
>> >> >> >>>>>>> =
>> >> >> >>>>>>> trialglm,
>> >> >> >>>>>> family = binomial) Warning message: package ‘blme’ was built
>> >> >> >>>>>> under
>> >> >> >>>>>> R version 3.1.2
>> >> >> >>>>>>> summary(trial)
>> >> >> >>>>>> Cov prior  : Part.name ~ wishart(df = 3.5, scale = Inf,
>> >> >> >>>>>> posterior.scale = cov, common.scale = TRUE) Prior dev  :
>> >> >> >>>>>> 1.4371
>> >> >> >>>>>>
>> >> >> >>>>>> Generalized linear mixed model fit by maximum likelihood
>> >> >> >>>>>> (Laplace
>> >> >> >>>>>> Approximation) ['bglmerMod'] Family: binomial  ( logit )
>> >> >> >>>>>> Formula:
>> >> >> >>>>>> Correct ~ Syntax.Semantics + (1 | Part.name) Data: trialglm
>> >> >> >>>>>>
>> >> >> >>>>>> AIC      BIC   logLik deviance df.resid 269.9    305.5
>> >> >> >>>>>> -126.0
>> >> >> >>>>>> 251.9      376
>> >> >> >>>>>>
>> >> >> >>>>>> Scaled residuals: Min      1Q  Median      3Q     Max -0.9828
>> >> >> >>>>>> -0.4281 -0.2445 -0.0002  5.7872
>> >> >> >>>>>>
>> >> >> >>>>>> Random effects: Groups    Name        Variance Std.Dev.
>> >> >> >>>>>> Part.name
>> >> >> >>>>>> (Intercept) 0.3836   0.6194 Number of obs: 385, groups:
>> >> >> >>>>>> Part.name,
>> >> >> >>>>>> 16
>> >> >> >>>>>>
>> >> >> >>>>>> Fixed effects: Estimate Std. Error z value Pr(>|z|)
>> >> >> >>>>>> (Intercept)
>> >> >> >>>>>> -1.8671     0.4538  -4.114 3.89e-05 *** Syntax.Semantics A
>> >> >> >>>>>> 0.8121     0.5397   1.505   0.1324 Syntax.Semantics B
>> >> >> >>>>>> -16.4391
>> >> >> >>>>>> 1195.5031  -0.014   0.9890 Syntax.Semantics C   -1.1323
>> >> >> >>>>>> 0.7462
>> >> >> >>>>>> -1.517   0.1292 Syntax.Semantics D    0.1789     0.5853
>> >> >> >>>>>> 0.306
>> >> >> >>>>>> 0.7598 Syntax.Semantics E   -0.8071     0.7500  -1.076
>> >> >> >>>>>> 0.2819
>> >> >> >>>>>> Syntax.Semantics F   -1.5051     0.8575  -1.755   0.0792 .
>> >> >> >>>>>> Syntax.Semantics G    0.4395     0.5417   0.811   0.4171 ---
>> >> >> >>>>>> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’
>> >> >> >>>>>> 1
>> >> >> >>>>>>
>> >> >> >>>>>> Unfortunately the separation problem is still there. Should I
>> >> >> >>>>>> be
>> >> >> >>>>>> constraining the parameter somehow? How would I do that? The
>> >> >> >>>>>> data
>> >> >> >>>>>> is below.
>> >> >> >
>> >> >> >    Did you read the section in the URL I suggested?  Just using
>> >> >> > bglmer
>> >> >> > isn't enough; you also have to set a prior on the fixed effects.
>> >> >> >
>> >> >> >   Your data don't seem to be attached (note that the mailing list
>> >> >> > strips most non-ASCII file types).
>> >> >> >
>> >> >> >>>>>>
>> >> >> >>>>>> In passing I also tried brglm which solves the separation
>> >> >> >>>>>> problem
>> >> >> >>>>>> but tells me comparison is significant which I don't believe
>> >> >> >>>>>> one
>> >> >> >>>>>> bit (see the data below). I am pretty sure about this because
>> >> >> >>>>>> when
>> >> >> >>>>>> I reveled and look at the comparisons I was able to compute
>> >> >> >>>>>> using
>> >> >> >>>>>> glmer, these turn out to be non-significant, when glmer told
>> >> >> >>>>>> me
>> >> >> >>>>>> they were:
>> >> >> >>>>>>
>> >> >> >>>>>>> trial<-brglm(Correct ~ Syntax.Semantics, data = trialglm,
>> >> >> >>>>>>> family
>> >> >> >>>>>>> =
>> >> >> >>>>>> binomial) Warning messages: 1: package ‘elrm’ was built under
>> >> >> >>>>>> R
>> >> >> >>>>>> version 3.1.2 2: package ‘coda’ was built under R version
>> >> >> >>>>>> 3.1.3
>> >> >> >>>>>>> summary(trial)
>> >> >> >>>>>>
>> >> >> >>>>>> Call: brglm(formula = Correct ~ Syntax.Semantics, family =
>> >> >> >>>>>> binomial, data = trialglm)
>> >> >> >>>>>>
>> >> >> >>>>>>
>> >> >> >>>>>> Coefficients: Estimate Std. Error z value Pr(>|z|)
>> >> >> >>>>>> (Intercept)
>> >> >> >>>>>> -1.6358     0.4035  -4.053 5.05e-05 *** Syntax.Semantics A
>> >> >> >>>>>> 0.6689
>> >> >> >>>>>> 0.5169   1.294   0.1957 Syntax.Semantics B  -3.0182
>> >> >> >>>>>> 1.4902
>> >> >> >>>>>> -2.025   0.0428 * Syntax.Semantics C  -1.0135     0.6889
>> >> >> >>>>>> -1.471
>> >> >> >>>>>> 0.1413 Syntax.Semantics D   0.1515     0.5571   0.272
>> >> >> >>>>>> 0.7857
>> >> >> >>>>>> Syntax.Semantics E  -0.7878     0.6937  -1.136   0.2561
>> >> >> >>>>>> Syntax.Semantics F  -1.2874     0.7702  -1.672   0.0946 .
>> >> >> >>>>>> Syntax.Semantics G   0.4358     0.5186   0.840   0.4007 ---
>> >> >> >>>>>> Signif.
>> >> >> >>>>>> codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
>> >> >> >>>>>>
>> >> >> >>>>>> (Dispersion parameter for binomial family taken to be 1)
>> >> >> >>>>>>
>> >> >> >>>>>> Null deviance: 262.51  on 384  degrees of freedom Residual
>> >> >> >>>>>> deviance: 256.22  on 377  degrees of freedom Penalized
>> >> >> >>>>>> deviance:
>> >> >> >>>>>> 245.5554 AIC:  272.22
>> >> >> >>>>>>
>> >> >> >>>>>>
>> >> >> >>>>>> MCMCglmm is too complex for me.
>> >> >> >>>>>>
>> >> >> >>>>>> Wolfgang, I tried the penalized likelihood method (logistf
>> >> >> >>>>>> function) but output is hard to read:
>> >> >> >>>>>>
>> >> >> >>>>>>> trial<-logistf(Correct ~ Syntax.Semantics, data = trialglm,
>> >> >> >>>>>>> family =
>> >> >> >>>>>> binomial) Warning messages: 1: package ‘logistf’ was built
>> >> >> >>>>>> under
>> >> >> >>>>>> R
>> >> >> >>>>>> version 3.1.2 2: package ‘mice’ was built under R version
>> >> >> >>>>>> 3.1.2
>> >> >> >>>>>>> summary(trial)
>> >> >> >>>>>> logistf(formula = Correct ~ Syntax.Semantics, data =
>> >> >> >>>>>> trialglm,
>> >> >> >>>>>> family = binomial)
>> >> >> >>>>>>
>> >> >> >>>>>> Model fitted by Penalized ML Confidence intervals and
>> >> >> >>>>>> p-values
>> >> >> >>>>>> by
>> >> >> >>>>>> Profile Likelihood Profile Likelihood Profile Likelihood
>> >> >> >>>>>> Profile
>> >> >> >>>>>> Likelihood Profile Likelihood Profile Likelihood Profile
>> >> >> >>>>>> Likelihood
>> >> >> >>>>>> Profile Likelihood
>> >> >> >>>>>>
>> >> >> >>>>>> coef  se(coef) lower 0.95 upper 0.95 Chisq            p
>> >> >> >>>>>> (Intercept)
>> >> >> >>>>>> 3.2094017 0.7724482  2.9648747  3.5127830 0.000000
>> >> >> >>>>>> 1.000000e+00
>> >> >> >>>>>> Syntax.Semantics A  4.1767737 6.3254344  0.4224696 12.0673987
>> >> >> >>>>>> 64.224452 1.110223e-15 Syntax.Semantics B -1.0583602
>> >> >> >>>>>> 0.8959376
>> >> >> >>>>>> -1.3963977 -0.7625216  0.000000 1.000000e+00 Syntax.Semantics
>> >> >> >>>>>> C
>> >> >> >>>>>> -0.7299070 0.9308193 -1.0765598 -0.4180076  0.000000
>> >> >> >>>>>> 1.000000e+00
>> >> >> >>>>>> Syntax.Semantics D  0.2314740 1.1563731 -0.1704535  0.6479908
>> >> >> >>>>>> 1.156512 2.821901e-01 Syntax.Semantics E -0.6476907 0.9771824
>> >> >> >>>>>> -1.0076740 -0.3164066  0.000000 1.000000e+00 Syntax.Semantics
>> >> >> >>>>>> F
>> >> >> >>>>>> -0.8271499 0.9305931 -1.1743834 -0.5160799  0.000000
>> >> >> >>>>>> 1.000000e+00
>> >> >> >>>>>> Syntax.Semantics G  0.9909046 1.3787175  0.5457741  1.5353981
>> >> >> >>>>>> 0.000000 1.000000e+00
>> >> >> >>>>>>
>> >> >> >>>>>> Likelihood ratio test=121.9841 on 7 df, p=0, n=385 Wald test
>> >> >> >>>>>> =
>> >> >> >>>>>> 5.334321 on 7 df, p = 0.6192356
>> >> >> >>>>>>
>> >> >> >>>>>> In particular, what is this model telling me? That Z (my ref
>> >> >> >>>>>> level)
>> >> >> >>>>>> and B are significantly different?
>> >> >> >>>>>>
>> >> >> >>>>>> I'm happy to try the elrm function with exact logistic
>> >> >> >>>>>> regression
>> >> >> >>>>>> but I am not capable of programming it. Besides, would it
>> >> >> >>>>>> give
>> >> >> >>>>>> me
>> >> >> >>>>>> valid estimates for the comparison between the Z and B
>> >> >> >>>>>> levels?
>> >> >> >>>>>> The
>> >> >> >>>>>> data frame should look like this:
>> >> >> >>>>>>
>> >> >> >>>>>> Outcome variable (Correct, incorrect) Predictor variable (A,
>> >> >> >>>>>> B,
>> >> >> >>>>>> C,
>> >> >> >>>>>> D, E, F, G, Z) Counts (E: 38,3; B: 51,0; Z: 37,7; G: 40,12;
>> >> >> >>>>>> D:
>> >> >> >>>>>> 36,8; C:45,3; A: 34,13; F:65,22).
>> >> >> >>>>>>
>> >> >> >>>>>> Thank you! F.
>> >> >> >>>>>>
>> >> >> >>>>>> On Thu, May 28, 2015 at 2:28 AM, Ben Bolker
>> >> >> >>>>>> <bbolker at gmail.com>
>> >> >> >>>>>> wrote:
>> >> >> >>>>>>
>> >> >> >>>>>>> And for what it's worth, you can do this in conjunction with
>> >> >> >>>>>>> lme4
>> >> >> >>>>>>> by using the blme package instead (a thin Bayesian wrapper
>> >> >> >>>>>>> around
>> >> >> >>>>>>> lme4), or via the MCMCglmm package; see
>> >> >> >>>>>>>
>> >> >> >>>>>>>
>> >> >> >>>>>>> http://ms.mcmaster.ca/~bolker/R/misc/foxchapter/bolker_chap.html
>> >> >> >>>>>>> for an example (search for "complete separation").
>> >> >> >>>>>>>
>> >> >> >>>>>>> On Wed, May 27, 2015 at 5:21 PM, Viechtbauer Wolfgang (STAT)
>> >> >> >>>>>>> <wolfgang.viechtbauer at maastrichtuniversity.nl> wrote:
>> >> >> >>>>>>>> You may need to consider using an 'exact', Bayesian, or
>> >> >> >>>>>>>> penalized
>> >> >> >>>>>>> likelihood approach (along the lines proposed by Firth).
>> >> >> >>>>>>>>
>> >> >> >>>>>>>> Maybe a place to start:
>> >> >> >>>>>>>
>> >> >> >>>>>>>
>> >> >> >>>
>> >> >> >>>
>> >> >> >>>
>> >> >> >>> http://sas-and-r.blogspot.nl/2010/11/example-815-firth-logistic-regression.html
>> >> >> >>>>>>>>
>> >> >> >>>>>>>>
>> >> >> >>>>>>>
>> >> >> > Best,
>> >> >> >>>>>>>> Wolfgang
>> >> >> >>>>>>>>
>> >> >> >>>>>>>>> -----Original Message----- From: R-sig-mixed-models
>> >> >> >>>>>>>>> [mailto:r-sig-mixed-models-bounces at r- project.org] On
>> >> >> >>>>>>>>> Behalf
>> >> >> >>>>>>>>> Of Francesco Romano Sent: Wednesday, May 27, 2015 23:00
>> >> >> >>>>>>>>> To:
>> >> >> >>>>>>>>> r-sig-mixed-models at r-project.org Subject: [R-sig-ME] Zero
>> >> >> >>>>>>>>> cells in contrast matrix problem
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> After giving up on a glmer for my data, I remembered a
>> >> >> >>>>>>>>> post
>> >> >> >>>>>>>>> by Roger
>> >> >> >>>>>>> Levy
>> >> >> >>>>>>>>> suggesting to try the use non mixed effects glm when one
>> >> >> >>>>>>>>> of
>> >> >> >>>>>>>>> the cells in a matrix is zero.
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> To put this into perspective:
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>>> trial<-glmer(Correct ~ Syntax.Semantics + (1 |
>> >> >> >>>>>>>>>> Part.name),
>> >> >> >>>>>>>>>> data =
>> >> >> >>>>>>>>> trialglm, family = binomial)
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> Warning messages: 1: In checkConv(attr(opt, "derivs"),
>> >> >> >>>>>>>>> opt$par, ctrl = control$checkConv, : Model failed to
>> >> >> >>>>>>>>> converge
>> >> >> >>>>>>>>> with max|grad| = 0.053657 (tol = 0.001, component 4) 2: In
>> >> >> >>>>>>>>> checkConv(attr(opt, "derivs"), opt$par, ctrl =
>> >> >> >>>>>>>>> control$checkConv, : Model is nearly unidentifiable: large
>> >> >> >>>>>>>>> eigenvalue ratio - Rescale variables?
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> My data has a binary outcome, correct or incorrect, a
>> >> >> >>>>>>>>> fixed
>> >> >> >>>>>>>>> effect predictor factor with 8 levels, and a random effect
>> >> >> >>>>>>>>> for participants. I believe the problem R is encountering
>> >> >> >>>>>>>>> is
>> >> >> >>>>>>>>> with one level of the factor (let us call it level B)
>> >> >> >>>>>>>>> which
>> >> >> >>>>>>>>> has no counts (no I won' t try to post the table from the
>> >> >> >>>>>>>>> paper with the counts because I know it will get garbled
>> >> >> >>>>>>>>> up!).
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> I attempt a glm with the same data:
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>>> trial<-glm(Correct ~ Syntax.Semantics, data = trialglm,
>> >> >> >>>>>>>>>> family =
>> >> >> >>>>>>>>> binomial)
>> >> >> >>>>>>>>>> anova(trial)
>> >> >> >>>>>>>>> Analysis of Deviance Table
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> Model: binomial, link: logit
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> Response: Correct
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> Terms added sequentially (first to last)
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> Df Deviance Resid. Df Resid. Dev NULL
>> >> >> >>>>>>>>> 384     289.63 Syntax.Semantics  7   34.651       377
>> >> >> >>>>>>>>> 254.97
>> >> >> >>>>>>>>>> summary(trial)
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> Call: glm(formula = Correct ~ Syntax.Semantics, family =
>> >> >> >>>>>>>>> binomial, data = trialglm)
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> Deviance Residuals: Min        1Q    Median        3Q
>> >> >> >>>>>>>>> Max -0.79480  -0.62569  -0.34474  -0.00013   2.52113
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> Coefficients: Estimate Std. Error z value Pr(>|z|)
>> >> >> >>>>>>>>> (Intercept)                 -1.6917     0.4113  -4.113
>> >> >> >>>>>>>>> 3.91e-05 *** Syntax.Semantics A   0.7013     0.5241
>> >> >> >>>>>>>>> 1.338
>> >> >> >>>>>>>>> 0.1809 Syntax.Semantics B -16.8744   904.5273  -0.019
>> >> >> >>>>>>>>> 0.9851 Syntax.Semantics C  -1.1015     0.7231  -1.523
>> >> >> >>>>>>>>> 0.1277 Syntax.Semantics D   0.1602     0.5667   0.283
>> >> >> >>>>>>>>> 0.7774 Syntax.Semantics E  -0.8733     0.7267  -1.202
>> >> >> >>>>>>>>> 0.2295 Syntax.Semantics F  -1.4438     0.8312  -1.737
>> >> >> >>>>>>>>> 0.0824 . Syntax.Semantics G   0.4630     0.5262   0.880
>> >> >> >>>>>>>>> 0.3789 --- Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’
>> >> >> >>>>>>>>> 0.05
>> >> >> >>>>>>>>> ‘.’ 0.1 ‘ ’ 1
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> (Dispersion parameter for binomial family taken to be 1)
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> Null deviance: 289.63  on 384  degrees of freedom Residual
>> >> >> >>>>>>>>> deviance: 254.98  on 377  degrees of freedom AIC: 270.98
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> Number of Fisher Scoring iterations: 17
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> The comparison I'm interested in is between level B and
>> >> >> >>>>>>>>> the
>> >> >> >>>>>>>>> reference level but it cannot be estimated as shown by the
>> >> >> >>>>>>>>> ridiculously high estimate and SE value.
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> Any suggestions on how to get a decent beta, SE, z, and p?
>> >> >> >>>>>>>>> It's the only comparison missing in the table for the
>> >> >> >>>>>>>>> levels
>> >> >> >>>>>>>>> I need so I think it
>> >> >> >>>>>>> would
>> >> >> >>>>>>>>> be a bit unacademic of me to close this deal saying 'the
>> >> >> >>>>>>>>> difference
>> >> >> >>>>>>> could
>> >> >> >>>>>>>>> not be estimated due to zero count'.
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> And by the way I have seen this comparison being generated
>> >> >> >>>>>>>>> using other stats.
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> Thanks in advance,
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> Frank
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> [[alternative HTML version deleted]]
>> >> >> >>>>>>>>>
>> >> >> >>>>>>>>> _______________________________________________
>> >> >> >>>>>>>>> R-sig-mixed-models at r-project.org mailing list
>> >> >> >>>>>>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
>> >> >> >>>>>>>> _______________________________________________
>> >> >> >>>>>>>> R-sig-mixed-models at r-project.org mailing list
>> >> >> >>>>>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
>> >> >> >>>>>>>
>> >> >> >>>>>>
>> >> >> >
>> >> >> >>>
>> >> >> >>>
>> >> >> >>>
>> >> >> >>> --
>> >> >> >>> Sent from Gmail for IPhone
>> >> >> >>
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >>
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > Frank Romano Ph.D.
>> >> >
>> >> > Tel. +39 3911639149
>> >> >
>> >> > LinkedIn
>> >> > https://it.linkedin.com/pub/francesco-bryan-romano/33/1/162
>> >> >
>> >> > Academia.edu
>> >> > https://sheffield.academia.edu/FrancescoRomano
>> >
>> >
>> >
>> >
>> > --
>> > Frank Romano Ph.D.
>> >
>> > Tel. +39 3911639149
>> >
>> > LinkedIn
>> > https://it.linkedin.com/pub/francesco-bryan-romano/33/1/162
>> >
>> > Academia.edu
>> > https://sheffield.academia.edu/FrancescoRomano
>
>
>
>
> --
> Frank Romano Ph.D.
>
> Tel. +39 3911639149
>
> LinkedIn
> https://it.linkedin.com/pub/francesco-bryan-romano/33/1/162
>
> Academia.edu
> https://sheffield.academia.edu/FrancescoRomano



More information about the R-sig-mixed-models mailing list