我正在分析来自实验的数据,这些数据会及时复制,在其中我测量了土壤表面的植物出苗率。我进行了3次实验,用术语trialnum
表示,并希望将trialnum
包括在内,作为随机效果。
以下是涉及的变量的摘要:
data.frame: 768 obs. of 9 variables:
$ trialnum : Factor w/ 2 levels "2","3": 1 1 1 1 1 1 1 1 1 1 ...
$ Flood : Factor w/ 4 levels "0","5","10","15": 2 2 2 2 2 2 1 1 1 1 ...
$ Burial : Factor w/ 4 levels "1.3","2.5","5",..: 3 3 3 3 3 3 4 4 4 4 ...
$ biotype : Factor w/ 6 levels "0","1","2","3",..: 1 2 3 4 5 6 1 2 3 4 ...
$ soil : int 0 0 0 0 0 0 0 0 0 0 ...
$ n : num 15 15 15 15 15 15 15 15 15 15 ...
其中trialnum
是实验运行,Flood
,Burial
和biotype
是输入/独立变量,而soil
是响应/独立变量
我以前使用所有输入变量创建了此模型:
glmfitALL <-glm(cbind(soil,n)~trialnum*Flood*Burial*biotype,family = binomial(logit),total)`
通过此模型,我发现通过运行
anova(glmfitALL, test = "Chisq")
trialnum
很重要。有3个实验运行,我只分析了其中2个。建议我将trialnum
作为随机效果使用,这样我就不必单独报告实验运行了。
为此,我创建了以下模型:
glmerfitALL <-glmer(cbind(soil,n)~Flood*Burial*biotype + (1|trialnum),
data = total,
family = binomial(logit),
control = glmerControl(optimizer = "bobyqa"))
由此,我收到以下错误消息:
maxfun < 10 * length(par)^2 is not recommended. Unable to evaluate scaled gradientModel failed to converge: degenerate Hessian with 9 negative eigenvalues
我尝试过多种方式运行此模型,包括:
glmerfitALL <-glmer(cbind(soil,n)~Flood*Burial*biotype*(1|trialnum),
data = total,
family = binomial(logit),
control = glmerControl(optimizer = "bobyqa"))
以及合并REML=FALSE
并使用optimx
代替bobyqa
,但是所有重复都导致了类似的错误消息。
因为这是一个“特征值”错误,是否表示我的源文件/原始数据有问题?
我还找到了与lmer4
错误消息有关的先前线程(很抱歉,我没有保存链接),并且看到一些注释由于缺乏随机效应的重复性而引起了问题。因为我只有两个副本trialnum2
和trialnum3
,所以我什至可以随机运行trialnum
吗?
答案 0 :(得分:0)
关于特征值,对此的主要建议是centring and/or scaling predictors。
关于RE组,five are an approximate minimum附近。