测试结果的对比对比度第一/第二差

问题描述

我想进行对比的对比(即通过第一/第二个差异测试交互作用),对比是指结果(预测的概率)**

它涉及3个步骤:

(1)估计预测概率(几种方法;我从情节中提取

(2)使用“成对”计算预测概率是否存在差异(第一差异)

(3)使用对计算差异(第二差异)是否存在。

我在步骤(2)和(3)中失败。请参阅下面的reprex中包含虚构数据的代码。有更好的方法吗?

**我最近的S / O帖子显示HERE展示了如何处理“回归器对概率的边际影响差异”。但这是一个平行的问题,即“结果的概率差异”。


suppresspackageStartupMessages({
  library(emmeans)})

# create ex. data set.  1 row per respondent (dataset shows 2 resp). 
cedata.1 <- data.frame( id    =  c(1,1,2,2),QES    = c(1,3,3),# Choice set   
                        Alt    = c(1,# Alt 1 or Alt 2 in  choice set 
                        Choice = c(0,1),# Dep variable.  if  Chosen (1) or not (0)
                        LOC    = c(0,# Indep variable per Choice set,binary categorical 
                        SIZE   = c(1,binary categorical 
                        gender = c(1,0)    # Indep variable per indvidual,binary categorical 
)


# estimate model
glm.model <- glm(Choice ~  LOC*SIZE,data=cedata.1,family = binomial(link = "logit"))

# Plot interaction on response scale (i.e.,predict prob) 
zzz <- emmip(glm.model,LOC ~ SIZE,type = "response")   

# (1) Estimate predicted prob   (extract values where yvar=predicted prob)
zzz$data
#>   LOC SIZE      yvar        SE  df tvar xvar
#> 1   0    0 0.3333333 0.2721655 Inf    0    0
#> 2   1    0 0.5000000 0.3535534 Inf    1    0
#> 3   0    1 0.6666667 0.2721655 Inf    0    1
#> 4   1    1 0.5000000 0.2500000 Inf    1    1

# (2) calc 1st diff. 
### I tried following,but got an error ->  pairs(zzz$data,simple = "SIZE",by= NULL?

# (3) calc 2nd diff  
### I tried following,but got an error ->  pairs(pairs(zzz$data,simple = "SIZE"),by = NULL)   

解决方法

emm <- regrid(emmeans(glm.model,~ SIZE | LOC))
pairs(pairs(emm),by = NULL)

emm包含四个因子组合的预测概率。它们不是边际结果,因为我们没有对任何事情求平均值。 pairs(emm)获取每个位置的SIZE差,然后下次忽略by变量。

顺便说一句

contrast(emm,interaction = "pairwise")