Это ошибка, которая появляется в пакете pbkrtest при вычислении скорректированной ковариационной матрицы, необходимой для степеней свободы Кенварда-Роджера (что является методом степеней свободы по умолчанию дляlmerMod
объекты).Почти наверняка это связано с нераскрытым предупреждающим сообщением, встречающимся при подгонке модели:
> model <- lmer(formula = data1 ~ flabel + (1 | whichFragments),
+ data = data, control=lmerControl(check.nlev.gtr.1 = "ignore"))
Warning message:
In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Hessian is numerically singular: parameters are not uniquely determined
Удивительно (для меня), вы все равно можете получить результаты, если используете какой-то другой метод df, например Satterthwaite:
> emmeans(model, "flabel", mode = "satterth")
flabel emmean SE df lower.CL upper.CL
con1 0.599 0.147 0.26 -3879 3880
con2 0.107 0.147 0.26 -3880 3880
Degrees-of-freedom method: satterthwaite
Confidence level used: 0.95
Наличие 0,26 степеней свободы - это не много: посмотрите на КИ.
Так же, как общее наблюдение, вы всегда напрашиваетесь на неприятности, когда пытаетесь оценить дисперсию только одним наблюдением.Это то, что пытается сделать эта модель, с точки зрения дисперсии между * whichFragments
.Я действительно надеюсь, что у вас есть больше данных, чем это в вашем реальном исследовании.
Кстати, если все, что вам нужно, это средства, вы можете просто вычислить средства:
> with(data, tapply(data1, flabel, mean))
con1 con2
0.5991 0.1072