0

我的数据子集有一些问题(子集仍然有 600 个值)。对于实验,我有两个时间点,每个时间点嵌套了三个处理 (TT),其中嵌套了 5 个重复培养物(A 到 E)。在这些文化中的每一种中,都有 20 个个体有机体的值。对于这个子集,我想查看治疗之间的差异以及同一治疗中时间点之间的差异。

我正在使用 R 3.1.2 和 nlme 包

我的代码如下:

model4a <-lme(Velocity~WeekTT, random=~1|Week/TT/Culture, method = "REML", data=body2, weights = varIdent(form=~1|WeekCulture), control=lmeControl(opt="optim"))

STR如下:

    data.frame':   600 obs. of  4 variables:
     $ Culture  : Factor w/ 5 levels "A","B","C","D",..: 1 2 3 4 5 1 2 3 4 5 
     $ Treatment: Factor w/ 3 levels "T20","T25","T25F": 1 1 1 1 1 2 2 2 2 2 
     $ Week     : num  10 10 10 10 10 10 10 10 10 10 ...
     $ Velocity : num  259 279 265 275 256 ...

这是我得到的结果和底部错误的屏幕截图(正在发布一些可重现的数据,但认为这可能是一个简单的代码错误)。

在过去的 3 周里,我一直在研究不同的模型,我认为这是一个简单的问题,只是我的大脑已经疲惫不堪,而且我想多了。

4

1 回答 1

1

如果WeekTT是逐周治疗交互作用,那么您在模型中包含了两次,一次作为固定效应,一次作为随机效应,因为随机效应分组结构Week/TT/Culture扩展为Week + Week:TT + Week:TT:Culture,所以这些固定效应并不奇怪参数将无法识别。也许,如果你想保持固定效应,只包括三向交互作为随机效应。

model4a <-lme(Velocity~WeekTT, 
               random=~1|Week:TT:Culture, 
      method = "REML", data=body2, 
    weights = varIdent(form=~1|WeekCulture), 
    control=lmeControl(opt="optim"))

根据weights语句正在做什么(是否WeekCulture代表三向交互?数据转换会处理异方差性吗?),您可能可以只聚合最低级别(即计算每个Week:TT:Culture组合的平均值),就像由Murtaugh (2007) “生态数据分析中的简单性和复杂性”提出。那么你根本不需要混合模型......

于 2015-03-26T22:30:24.783 回答