我很难回到emmeans包给出的“CL”值。
我的第一个目标是进行一种功效研究:我正在研究植物,我想看看我能在下个季节改进实验设计,以便在我的基因型之间产生更大的差异。我的基因型被重复,这被用作阻断因子。 我想玩重复次数(假设平均值和剩余SE保持不变)。最后,我想在预算问题和统计权力之间找到妥协。
我正在考虑查看置信区间(CI),记住如果两种基因型的CI涵盖至少一个共同值,则这两种基因型没有显着差异。所以我想知道在玩重复次数时我能减少多少CI。
我猜测使用Tukey方法进行多重比较的CI计算是:
μi±(σ/(2 *√(ni)))* q
,μi是第i个基因型的平均值
ni第i个基因型的观察数量,
σ残差标准误差和
q带有t(基因型数)和dfE(残差自由度)的学生化范围统计量作为α= 0.05的参数
相当于:
μi±(SEi * q)/ 2
SEi是第i个基因型的标准误差
以下是一个小型示例数据集,包含6种基因型和3次重复以及我运行的代码:
library(emmeans)
# import DF
df <- structure(list(Geno = structure(c(6L, 3L, 2L, 1L, 4L, 5L, 2L,
4L, 5L, 1L, 3L, 6L, 2L, 3L, 1L, 5L, 6L, 4L),
.Label = c("A", "B", "C", "D", "E", "F"),
class = "factor"), variable = c(2.279628571, 3.925157143, 3.089, 2.26, 2.503,
2.495114286, 2.867166667, 3.069238095, 3.884285714, 3.409595238,
3.710714286, 1.763142857, 2.865285714, 4.219214286, 3.263452381,
3.359428571, 2.335285714, 2.443),
Rep = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L),
.Label = c("1", "2", "3"), class = "factor")), .Names = c("Geno", "variable", "Rep"),
row.names = c(NA, 18L), class = "data.frame")
# Number of observation
N <- nrow(df)
# Number of treatments
t <- nlevels(df$Geno)
# Define the model
model <- lm(data=df, variable ~ Geno + Rep)
# Compute means and confidence intervals
E_means <- as.data.frame(emmeans(model, pairwise~Geno)$emmean)
# Extract Standard Errors
se <- E_means[,"SE"]
# Studentized range statistic
q <- qtukey(0.95, nmeans=t, df=E_means[,"df"])
expected_CI <- se*q/2
emmeans_CI <- ((E_means[,"upper.CL"] - E_means[,"lower.CL"])/2)
print(expected_CI)
print(emmeans_CI)
请注意,我处理不平衡数据的大部分时间(因此我对每种基因型都有不同的SE)。我想首先明确一个简单的(=平衡的)案例。
expected_CI和emmeans_CI对于我到目前为止所完成的每个测试总是不同的(不是很不一样,但仍然不同)所以我想我的计算方式与emmeans包相同。所以这是我的问题:如何在emmeans包中完成?
非常感谢任何帮助!
答案 0 :(得分:3)
您似乎将EMM与EMM的差异混淆。此外,您使用的公式仅适用于平衡单向设计。
以您的示例为例,您将尝试:
emm <- emmeans(model, pairwise ~ Geno)
然后执行:
confint(emm$emmeans, adjust = "tukey")
confint(emm$contrasts, adjust = "tukey")
你会注意到一些事情。首先,EMM本身的CI不使用指定的Tukey调整(它用Sidak替换它),因为该调整仅适用于成对比较。其次,两个摘要具有不同数量的结果(除了恰好有3个处理时)和不同的标准误差。例如,通过4次治疗,有4个EMM,但有6个成对比较;如果设计不平衡,可能会有6种不同的SE与这些比较相关联。
如果您想了解成对比较的Tukey调整,您需要使用适合于成对比较的统计数据 - 第二个摘要。 Tukey调整的CI使用估计的差异加或减sqrt(0.5*qtukey(.95, nmeans, df)) * SE
,其中SE
来自成对差异的结果。