R语言 为什么emmeans输出中有非估计值?

5m1hhzi4  于 2023-06-19  发布在  其他
关注(0)|答案(1)|浏览(112)

我已经从我的数据中生成了一系列线性混合模型,并希望使用emmeans包生成一些估计均值。我的主数据集包含夜间和白天的数据,我已经成功地获得了夜间数据来输出我想要的。然后,我使用相同的结构(稍微修改以考虑不同的因子名称等)来生成日时间数据的线性混合模型。然而,当我尝试使用单个因子生成估计均值时(在本例中,时间是3个水平因子),我得到3个水平中的1个水平的估计均值,而其他2个水平的估计均值为nonEST,我不知道为什么会发生这种情况。
我不确定如何最好地提供信息,因为用于生成线性混合模型的数据集对于dput()来说有点太大了,但我所做的基本工作如下。
我的型号:

countsleepdataon25WAKEANGLMM2<-lmer(unlist(propnssANGon)~as.factor(intonidhrtime)+Daysincedisturb/Stressor+as.factor(intonidhrtime)*Daysincedisturb/Stressor+(1|Batch)+(1|Batch_Bird_ID)+(1|fdfsrtoff)+(1|fdfsrtoff_intonidhrtimertoff),data=countsleepdataon25WAKE)

我的代码:

emmeans(countsleepdataon25WAKEANGLMM2,specs='intonidhrtime')

输出:

> emmeans(countsleepdataon25WAKEANGLMM2,specs='intonidhrtime')
NOTE: A nesting structure was detected in the fitted model:
    Stressor %in% Daysincedisturb
NOTE: Results may be misleading due to involvement in interactions
 intonidhrtime emmean   SE   df lower.CL upper.CL
 12-15.5       nonEst   NA   NA       NA       NA
 15.5-19       nonEst   NA   NA       NA       NA
 5-8.5           65.4 2.01 8.11     60.8       70

Results are averaged over the levels of: Stressor, Daysincedisturb 
Degrees-of-freedom method: kenward-roger 
Results are given on the unlist (not the response) scale. 
Confidence level used: 0.95

为了进行比较,以下是使用相同模型参数/代码但针对夜间数据集的输出:

> emmeans(countsleepdataoff25WAKEANGLMM2,specs='intoffidhrtime')
NOTE: A nesting structure was detected in the fitted model:
    Stressor %in% Daysincedisturb
NOTE: Results may be misleading due to involvement in interactions
 intoffidhrtime emmean   SE   df lower.CL upper.CL
 1-3              27.8 2.72 7.51     21.5     34.2
 19-21            30.7 2.89 9.35     24.2     37.2
 21-23            25.4 2.71 7.37     19.1     31.8
 23-1             29.5 2.72 7.52     23.1     35.8
 3-5              38.7 2.72 7.48     32.4     45.1

Results are averaged over the levels of: Stressor, Daysincedisturb 
Degrees-of-freedom method: kenward-roger 
Results are given on the unlist (not the response) scale. 
Confidence level used: 0.95

我不明白为什么当白天时间数据在3个时间水平中的每一个都至少有50个值时,没有生成估计的平均值,我假设这足以在这里生成某种值。

kqlmhetl

kqlmhetl1#

问题是因子水平和时间间隔之间的相互作用。实际上,使用所有3个“自打扰日”水平计算5-8.5时间间隔估计平均值,但由于12-15.5和15.5-19时间间隔缺失1/3“自打扰日”水平(基于实验设计),因此不可能生成这2个时间间隔的估计平均值。将“Daysincedisturb”降低到2级因子允许生成所有必要的估计平均值。

相关问题