这里也提出了类似的问题https://stats.stackexchange.com/questions/13000/random-effect-nested-under-fixed-effect-model-in-r在这里https://stats.stackexchange.com/questions/190120/nesting-random-effect-within-fixed-effect-using-lmer-of-lme4-in-r然而,我很难将这些答案应用于我的特定问题。
数据
在23个不同的森林地点建立了地块。每个地块有4个子地块。我感兴趣的答案是包含成功树的子图的数量。为了避免伪复制,在绘图级别将其建模为二项式,在4次试验中成功x次(x可以是整数[0:4](。我对两种固定效果感兴趣:围栏和平均幼苗大小。围栏是林分水平的变量,平均幼苗大小是在地块水平上测量的。由于多个地块嵌套在同一位置,我的委员会成员希望我将位置作为随机效应,以解释地块之间缺乏完全独立性的原因。
以下代码模拟我的数据:
location<-as.character(LETTERS[rep(seq(from=1,to=23),30)])
plot<-rep(seq(from=1,to=30),23)
success<-sample(0:4,690,replace=T)
n_subplots<-rep(4,690)
df<-data.frame(location,plot,success,n_subplots)
df$FENCED<-ifelse(df$location %in% c("A","B","C","D","E","F","G"),
1,0)
df$seedling_size<-df$success*.05+rnorm(1,0,2.5)+.1*df$FENCED
df$success<-ifelse(df$success>2 & df$FENCED ==1, df$success-2,df$success)
df$success<-ifelse(df$location %in% c("A","J","L"),df$success-1,df$success)
df$success<-ifelse(df$success<0,0,df$success)
df<-df[order(df$location,df$plot),]
型号
我想测试围栏本身的效果,以及围栏和幼苗大小之间可能的相互作用(围栏保护小幼苗免受鹿的伤害(。这是我正在使用的模型:
model<-glmer(cbind(success,n_subplots)~FENCED*seedling_size +
(FENCED|location),
family=binomial(),data=df,nAGQ=1)
summary(model)
总结结果
Random effects:
Groups Name Variance Std.Dev. Corr
location (Intercept) 6.412e-08 0.0002532
FENCED 2.714e-02 0.1647464 0.30
Number of obs: 690, groups: location, 23
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 13.9404 0.8173 17.057 < 2e-16 ***
FENCED -7.1809 1.4386 -4.991 5.99e-07 ***
seedling_size 12.9083 0.7257 17.787 < 2e-16 ***
FENCED:seedling_size -5.2464 1.3464 -3.897 9.76e-05 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Correlation of Fixed Effects:
(Intr) FENCED sdlng_
FENCED -0.568
seedling_sz 0.999 -0.567
FENCED:sdl_ -0.538 0.996 -0.539
convergence code: 0
Model failed to converge with max|grad| = 0.00261073 (tol = 0.001, component 1)
问题
这是指定我想要的模型的正确语法吗?如何解释结果?围栏出现在随机摘要和固定效果中。最后,是什么可能导致收敛警告,以及如何解决?
至少对于收敛问题,我确实在这里建议的所有不同的优化器上运行了该模型:https://www.rdocumentation.org/packages/lme4/versions/1.1-17/topics/convergence优化器之间的效果估计和显著性相似,除1个外,其余均为"正常"或"有效"。这对我来说意味着什么还不清楚,除了这不是近似方法的问题。然而,做一些类似"理查森推断"的事情有点让我难以理解。
看起来model<-glmer(cbind(success,n_subplots)~FENCED*seedling_size + (1|location)...
基于此有用的链接提供适当的结构https://rcompanion.org/rcompanion/d_07.html
我注意到model<-glmer(cbind(success,n_subplots)~FENCED*seedling_size + (1|FENCED:location)
做了完全相同的事情。使用不同的语法来做同样的事情首先让我感到困惑。
如果我错了,我会把这个问题留一段时间,在这种情况下,我欢迎更正。