【发布时间】:2020-05-05 20:31:58
【问题描述】:
我想使用 emmeans 计算计划对比度的特定子集,但在编码时遇到了麻烦。
在我的示例数据集中,我有两个条件,“drugA”和“drugB”。共6只动物A-F,每只动物在每种药物作用下称重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
但是,我只想计算以下对比:
药物 A,时间 1 与药物 B,时间 1
药物 A,时间 2 与药物 B,时间 2
DrugA,time3 与 DrugB,time3
DrugA,时间 1 与时间 2
DrugA,时间 2 与时间 3
DrugB,时间 1 与时间 2
DrugB,时间 2 与时间 3
我必须如何对这些对比进行编码?非常感谢您的建议。
【问题讨论】:
-
您是否尝试过写出代表每种药物:时间组合的组均值的 0 和 1 向量?或者那是你被困的地方?您将这些向量基于 emmeans 的输出。我会在没有“pairwise”的情况下制作 emm 并从那里开始构建我的向量。
-
感谢您的建议。是的,我认为挑战是从输出(网格有 3 列和 16 行,第三列是什么?)到对比...
-
看来你取得了不错的进展!是的,我看到了困难。我认为计算加/减 1 或对另一个因素求平均值可能很困难,这就是为什么我教学生制作一个表示每个组合平均值的向量,然后用这些向量进行数学运算以表示他们想要的比较。 :)
-
嗯...我仍然无法解决以下问题:估计值、SE 和 p 值有时相同似乎令人费解。有什么问题吗?
-
由于您不允许模型中的交互,因此对我来说,时间 1 的 A 与 B 的差异与时间 2 的差异是有意义的。您的模型表示无论时间长短,A 和 B 之间存在一个总体差异。