runehaubo / lmerTestR

Repository for the R-package lmerTest
48 stars 9 forks source link

ranova after lmer call with starting values #25

Closed Moeltner closed 4 years ago

Moeltner commented 4 years ago

just to create some data

A<-0:4; B<-0:4; n<-5; D<-NULL; P<-NULL for (a in 1:length(A))

  • { for (b in 1:length(B))
  • { for (i in 1:n)
  • { D<-rbind(D,c(paste0("A",a),paste0("B",b)))
  • P<-c(P,a+b)
  • }
  • }
  • } D<-data.frame(D,P) D$P<-D$P+rnorm(length(P))

    data ready

this works

LM<-lmer(P~(1|X1)+(1|X2),D) ranova(LM) ANOVA-like table for random-effects: Single term deletions

Model: P ~ (1 | X1) + (1 | X2) npar logLik AIC LRT Df Pr(>Chisq)

4 -198.47 404.93 (1 | X1) 3 -259.48 524.95 122.018 1 < 2.2e-16 *** (1 | X2) 3 -248.33 502.65 99.721 1 < 2.2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 > # sometimes it's necassary to restart an optimization: > LM1<-lmer(P~(1|X1)+(1|X2),D,start=getME(LM,"theta")) > ################################################ > # now ranova is complaining: > ranova(LM1) Error in getStart(start, rho$lower, rho$pp) : incorrect number of theta components (!=1) > ################################################ > # making ranova think that lmer had no starting values: > LM1@call<-LM@call > # now it works (?): > ranova(LM1) ANOVA-like table for random-effects: Single term deletions Model: P ~ (1 | X1) + (1 | X2) npar logLik AIC LRT Df Pr(>Chisq) 4 -198.47 404.93 (1 | X1) 3 -259.48 524.95 122.018 1 < 2.2e-16 *** (1 | X2) 3 -248.33 502.65 99.721 1 < 2.2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 >