glmmPQL中的权重表示可变长度:R

时间:2018-08-17 14:57:06

标签: r glm lme4 mass

人们正在触摸表面,并在手指上拾取细菌。在X次表面接触( NumberContacts )(固定效果)后,我测量其手指上的细菌。这取决于参与者(随机效果),以​​及是否戴着手套(手套)(固定效果)。 这是原始数据: enter image description here

我正在尝试使用R中的MASS包使用PQL运行广义线性混合模型,因为我的数据是非正常的。我使用Lambda = 0.779的Box-Cox变换对它们进行了变换,但认为它看起来像对数正态分布,因此使用了对数链接功能。

K<-data.fame(germs=rlnorm(560,4,5),
Participant=rep(1:35,each=16),
NumberContacts=rep(1:8,70),
Gloves=rep(c("G","U"),70))

PQL <- glmmPQL(germs^0.779 ~ Gloves+NumberContacts, ~1 | Participant, family = gaussian(link = "log"),
               data = na.omit(Ksub), 
               verbose = F)

但是我也认为我的方差在残差上是不相等的(请参见残差与拟合图)。话虽如此,Leven检验拒绝了各组之间我的数据中的异方差(p = 0.5)。但是看看残差与拟合。我想使用加权方差来解决这个问题。

enter image description here

PQL <- glmmPQL(germs^0.779 ~ Gloves+poly(NumberContacts,2), ~1 | Participant, family = gaussian(link = "log"),
               weights =varIdent(form = ~1 | NumberContacts),
               data = na.omit(Ksub), 
               verbose = F)

我根据此链接varIdent添加了weights = varIdent(form =〜1 | NumberContacts),但出现错误:

  

model.frame.default中的错误(data = na.omit(Ksub),weights =   varIdent(form =〜1可变长度不同(发现为'(weights)')

这是为什么?也可以随意评论其他看起来很狡猾的事物(例如,转换数据!)。

0 个答案:

没有答案