jtjtjtjt
jtjtjtjt

Reputation: 105

R - specifying interaction contrasts for aov

How to specificy the contrasts (point estimates, 95CI and p-values) for the between-group differences of the within-group delta changes?

In the example below, I would be interest in the between-groups (group = 1 minus group = 2) of delta changes (time = 3 minus time = 1).

df and model:

demo3 <- read.csv("https://stats.idre.ucla.edu/stat/data/demo3.csv")
## Convert variables to factor
demo3 <- within(demo3, {
  group <- factor(group)
  time <- factor(time)
  id <- factor(id)
})

par(cex = .6)
 

demo3$time <- as.factor(demo3$time)


demo3.aov <- aov(pulse ~ group * time + Error(id), data = demo3)
summary(demo3.aov)

Neither of these chunks of code achieve my goal, correct?

m2 <- emmeans(demo3.aov, "group", by = "time") 
pairs(m2)

 
m22 <- emmeans(demo3.aov, c("group",   "time") )
pairs(m22)

Upvotes: 0

Views: 197

Answers (1)

Russ Lenth
Russ Lenth

Reputation: 6770

Look at the documentation for emmeans::contrast and in particular the argument interaction. If I understand your question correctly, you might want

summary(contrast(m22, interaction = c("pairwise", "dunnett")),
    infer = c(TRUE, TRUE))

which would compute Dunnett-style contrasts for time (each time vs. time1), and compare those for group1 - group2. The summary(..., infer = c(TRUE, TRUE)) part overrides the default that tests but not CIs are shown.

You could also do this in stanges:

time.con <- contrast(m22, "dunnett", by = "group", name = "timediff")
summary(pairs(time.con, by = NULL), infer = c(TRUE, TRUE))

If you truly want just time 3 - time 1, then replace time.con with

time.con1 <- contrast(m22, list(`time3-time1` = c(-1, 0, 1, 0, 0))

(I don't know how many times you have. I assumed 5 in the above.)

Upvotes: 1

Related Questions