首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与glmer的交互对比

与glmer的交互对比
EN

Stack Overflow用户
提问于 2018-08-13 16:32:20
回答 1查看 1.5K关注 0票数 1

我正在运行一个具有类似结构的模型:

代码语言:javascript
复制
model <- glmer(protest ~ factora*factorb*numeric+factora+factorb+numeric+1 + (1 + factor1|level1) + (1|level2), data=data, family=binomial(link='logit'))

其中factorafactorb是因子变量,numeric是数值变量。

当在数值范围内将factora factorb (1-5)的两个值保持为3时,factorb (1-5)的两个值之间的交互作用中的对比度有何统计意义,我很好奇。

我尝试了以下选项,但没有成功:

代码语言:javascript
复制
library(psycho)
get_contrasts(model, formula="factora:factorb:numeric", adjust="tukey")
View(contrasts$contrasts) 

这是可行的,但不幸的是,结果保持numeric不变,并且只改变factorafactorb。因此,它没有回答我的问题。

我也尝试过:

代码语言:javascript
复制
library(multcomp)
test = glht(model,linfct=mcp("factora:factorb:numeric"="Tukey"))

这会产生以下错误:

代码语言:javascript
复制
Error in mcp2matrix(model, linfct = linfct) : 
  Variable(s) ‘factora:factorb:numeric’ have been specified in ‘linfct’ but cannot be found in ‘model’! 

不考虑我指定交互的方式,尽管有其他函数,如get_contrasts,查找指定的交互也是一样的。

我也尝试过:

代码语言:javascript
复制
library(emmeans)
contrast(m.3[[2]], interaction = c("factora", "factorb", "numeric"))

然而,这并不支持glmer。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-15 03:41:31

这里有几个问题正在让你绊倒。

其一,我们并不真正将对比应用于数值预测。数值预测器具有斜率,而不是对比度;如果您有一个模型,其中数值预测器与因子交互,这意味着对于因子的每个级别,数值预测器的斜率是不同的。emmeans包中的函数emtrends()可以帮助您估计这些不同的斜率。

第二个问题是,emmeans::contrast()中的interaction参数需要指定要使用的对比度类型,例如"pairwise"。要应用它们的因子是第一个参数中的emmGrid对象中的因子。

所以..。我想也许你想试试这样的东西:

代码语言:javascript
复制
emt <- emtrends(model, ~ factora*factorb, var = "numeric")
emt    # list the estimated slopes

contrast(emt, interaction = "consec")
    # obtain interaction contrasts comparing consecutive levels of the two factors
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51818187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档