Запланированные контрасты в emmeans - PullRequest
1 голос
/ 19 января 2020

Я хотел бы вычислить указанное подмножество запланированных контрастов c, используя emmeans, но у меня возникли проблемы с их кодированием.

В моем образце данных у меня есть два условия: drugA и drugB. Есть 6 животных AF, и вес каждого животного был измерен 3 раза под воздействием каждого лекарства.

id <- rep(c("A","B","C","D","E","F"),6)
drug <- c(rep(c("drugA"), 18), rep(c("drugB"), 18))
time <- rep(rep(1:3, each = 6),2)
value <- c(rnorm(6, 1, 0.4), rnorm(6, 3, 0.5), rnorm(6, 6, 0.8), rnorm(6, 1.1, 0.4), rnorm(6, 0.8, 0.2), rnorm(6, 1, 0.6))
df <- data.frame(id,drug, time, value)

df$id <- as.factor(df$id) 
df$drug <- as.factor(df$drug)
df$time <- as.factor(df$time)
stats <- lmer(value ~ drug*time + drug + time + (1|id), data = df)
summary(stats)

emm <- emmeans(stats, list(pairwise ~ drug + time), adjust = "tukey") 
emm

Однако я бы только хотел бы рассчитать следующие контрасты:

DrugA, время1 против DrugB, время1

DrugA, время2 против DrugB, время2

DrugA, время3 против DrugB, время3

DrugA, время1 против времени2

DrugA, время2 против времени3

DrugB, время1 против времени2

DrugB, время2 против времени3

Как у меня закодировать эти контрасты? Большое спасибо за ваши предложения.

1 Ответ

0 голосов
/ 22 января 2020

Подсказка - посмотреть на таблицу результатов emmeans. Два первых столбца являются основой для формулирования контрастов, каждая строка представляет одну комбинацию факторов.

emm <- emmeans(stats, list(~ drug + time)) # not used afterwards, but to check result Grid

con <- list(
  DrugA1_DrugB1 = c(1,-1,0,0,0,0),
  DrugA2_DrugB2 = c(0,0,1,-1,0,0),
  DrugA3_DrugB3 = c(0,0,0,0,-1,1),

  DrugA1_DrugA2 = c(1,0,-1,0,0,0),
  DrugA2_DrugA3 = c(0,0,1,0,-1,0),

  DrugB1_DrugB2 = c(0,1,0,-1,0,0),
  DrugB2_DrugB3 = c(0,0,0,1,0,-1)
)

Далее приведем именно эти контрасты.

 emm <- emmeans(stats, list(~ drug + time), contr = con, adjust = "mvt")
...