如果有人能帮我解决这个问题,我会很高兴。我有重复测量设计的数据,其中我们测试了鸟类 ( time.dep) 感染前后的反应( exper)。我们还将FL(燃料负荷、瘦体重百分比)、脂肪评分和组(实验与对照)作为解释变量。我决定使用LME,因为残差分布不偏离正态。但是残差的同质性存在问题。“之前”和“之后”,并且还之间脂肪水平显著不同(Fligner-Killeen的试验中,基团的方差p=0.038和p=0.01分别地)。
ring group fat time.dep FL exper
1 XZ13125 E 4 0.36 16.295 before
2 XZ13125 E 3 0.32 12.547 after
3 XZ13126 E 3 0.28 7.721 before
4 XZ13127 C 3 0.32 9.157 before
5 XZ13127 C 3 0.40 -1.902 after
6 XZ13129 C 4 0.40 10.382 before
Run Code Online (Sandbox Code Playgroud)
在我选择了模型的随机部分,即随机截距 ( ~1|ring) 之后,我为“fat”和“exper”( varComb(varIdent(form=~1|fat), varIdent(form=~1|exper))应用了权重参数。现在标准化残差与拟合的图看起来更好,但我仍然违反了这些变量的同质性(fligner 测试中的相同值)。我做错了什么?
我有数据,其中"飞行速度"是响应变量和group(实验/控制),test(第一/第二),FL(燃料负载,来自瘦体重的%:从0到~25%),wing(翼长度,mm) ).由于我们已经对同一只鸟进行了两次测试(第一次和第二次测试,实验组被感染),我想要执行混合模型(添加随机项~1|ring).由于异方差性,我还weight为test变量添加了参数.
mod<-lme(speed~test* group * FL * wing,weight=~1|test,random=~1|ring,data=data,method="ML")
Run Code Online (Sandbox Code Playgroud)
这就是完整模型的样子(我使用nlme包).之后我开始向后选择.我手动完成(根据最低的AIC),然后用函数stepAIC(MASS包)检查结果.在这种情况下,前两个选择步骤很好,但是当我从模型开始时:
mod3<-lme(speed~test+group + FL + wing+ test:group + group:FL + FL:wing + test:group:wing, weight=~1|test,random=~1|ring,data=data,method="ML")
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
Error in MEEM(object, conLin, control$niterEM) :
Singularity in backsolve at level 0, block 1
Run Code Online (Sandbox Code Playgroud)
据我所知,这意味着并非所有因素的相互作用都存在.但是我应该已经完整模型得到了同样的错误.而对于其他响应变量,它运作良好.如果你们有任何想法,我会很高兴的!
原始数据
ring group wing speed_aver FL test
1 XZ13125 E 75 0.62 16.2950000 first
2 XZ13125 E 75 0.22 12.5470149 second
3 XZ13126 E …Run Code Online (Sandbox Code Playgroud)