如何显示交叉(配对)实验的误差线

机器算法验证 数据可视化 标准错误 配对比较 配对数据 交叉研究
2022-01-30 05:41:56

以下场景已成为调查员(I)、审稿人/编辑(R,与 CRAN 无关)和我(M)作为情节创建者三人组中最常见的问题。我们可以假设 (R) 是典型的医学大佬审稿人,他只知道每个剧情都必须有误差线,否则就是错误的。当涉及统计审查员时,问题就不那么重要了。

设想

在典型的药理学交叉研究中,测试了两种药物 A 和 B 对葡萄糖水平的影响。每位患者以随机顺序进行两次测试,并假设没有遗留问题。主要终点是葡萄糖 (BA) 之间的差异,我们假设配对 t 检验就足够了。

(I) 想要一个显示两种情况下绝对葡萄糖水平的图。他担心 (R) 对误差线的渴望,并要求在条形图中提供标准误差。让我们不要在这里开始条形图大战._)

两种治疗的条形图和 SE 葡萄糖

(I):那不可能。条形重叠,我们有 p=0.03?这不是我在高中学到的。

(M): 我们这里有一个配对设计。请求的误差线完全不相关,重要的是配对差异的 SE/CI,图中未显示。如果我可以选择并且没有太多数据,我更喜欢下面的情节

连接线显示配对,点原始值

补充1:这是几个回复中提到的平行坐标图

(M):线条显示配对,大多数线条都向上,这是正确的印象,因为斜率是最重要的(好吧,这是绝对的,但尽管如此)。

(I):那幅画令人困惑。没有人理解它,而且它没有误差线(R 潜伏着)。

(M):我们还可以添加另一个图,显示差异的相关置信区间。与零线的距离给人以效果大小的印象。

(一):没人做

(R): 它浪费了珍贵的树木

(M): (作为一个优秀的德国人): 是的,树上的点被选中了。但是当我们有多种治疗方法和多种对比时,我仍然使用它(并且从未发布过)。

差异的置信区间

有什么建议吗?如果要创建绘图,R 代码如下。

# Graphics for Crossover experiments
library(ggplot2)
library(plyr)
theme_set(theme_bw()+theme(panel.margin=grid::unit(0,"lines")))
n = 20
effect = 5 
set.seed(4711)
glu0 = rnorm(n,120,30)
glu1 = glu0 + rnorm(n,effect,7)
dt = data.frame(patient = rep(paste0("P",10:(9+n))),              
                treatment = rep(c("A","B"), each=n),glucose = c(glu0,glu1))

dt1 = ddply(dt,.(treatment), function(x){
  data.frame(glucose = mean(x$glucose), se = sqrt(var(x$glucose)/nrow(x)) )})

tt = t.test(glucose~treatment,paired=TRUE,data=dt,conf.int=TRUE)
dt2 = data.frame(diff = -tt$estimate,low=-tt$conf.int[2], up=-tt$conf.int[1])
p = paste("p =",signif(tt$p.value,2))

png(height=300,width=300)
ggplot(dt1, aes(x=treatment, y=glucose, fill=treatment))+      
  geom_bar(stat="identity")+  
  geom_errorbar(aes(ymin=glucose-se, ymax=glucose+se),size=1., width=0.3)+
  geom_text(aes(1.5,150),label=p,size=6)

ggplot(dt,aes(x=treatment,y=glucose, group=patient))+ylim(0,190)+
  geom_line()+geom_point(size=4.5)+
  geom_text(aes(1.5,60),label=p,size=6)

ggplot(dt2,aes(x="",y=diff))+
  geom_errorbar(aes(ymin=low,ymax=up),size=1.5,width=0.2)+ 
  geom_text(aes(1,-0.8),label=p,size=6)+
  ylab("95% CI of difference glucose B-A")+  ylim(-10,10)+
  theme(panel.border=element_blank(), panel.grid.major.x=element_blank(),
         panel.grid.major.y=element_line(size=1,colour="grey88"))

dev.off()
4个回答

您的假设是完全正确的,即表示平均值标准误差的误差线完全不适合主题内设计。然而,重叠误差线和重要性的问题是另一个话题,我将在这个评论参考列表的末尾回到这个话题。

心理学有丰富的文献关于受试者内置信区间或误差线,它们完全符合您的要求。参考工作很清楚:

Loftus, GR, & Masson, MEJ (1994)。在受试者内设计中使用置信区间心理公报与评论,1(4),476-490。doi:10.3758/BF0​​3210951

然而,他们的问题是他们对所有级别的主题内因素都使用相同的错误术语。对于您的情况(2 个级别),这似乎不是一个大问题。但是有更现代的方法可以解决这个问题。最为显着地:

Franz, V. 和 Loftus, G. (2012)。受试者内设计中的标准误差和置信区间:推广 Loftus 和 Masson (1994) 并避免替代账户的偏差心理公报与评论,1-10。doi:10.3758/s13423-012-0230-1

Baguley, T. (2011)。计算和绘制 ANOVA 的受试者内置信区间。行为研究方法doi:10.3758/s13428-011-0123-7 [可以在这里找到]

在后两篇论文中可以找到更多参考资料(我认为这两篇论文都值得一读)。


研究人员如何解释 CI?根据以下论文不好:

Belia, S.、Fidler, F.、Williams, J. 和 Cumming, G. (2005)。研究人员误解了置信区间和标准误差线心理方法,10(4),389-396。doi:10.1037/1082-989X.10.4.389

我们应该如何解释重叠和不重叠的 CI?

Cumming, G. 和 Finch, S. (2005)。通过眼睛推断:置信区间和如何阅读数据图片美国心理学家,60(2),170-180。doi:10.1037/0003-066X.60.2.170


最后一个想法(尽管这与您的情况无关):如果您在一个图中有一个裂区设计(即,主体内部和主体之间的因素),您可以完全忘记误差线。我会(谦虚地)raw.means.plot在 R 包中推荐我的函数plotrix

这个问题似乎不是关于误差条,而是关于绘制配对数据的最佳方法。

本质上,这里的误差线至多是一种总结不确定性的方式:它们没有,也必然不能对数据中的任何精细结构说太多。

问题中提到了平行坐标图 - 有时称为剖面图,这个术语表示不同领域的不同事物。@Ray Koopman 已经建议了基本的散点图。

这里流行一个专门的散点图,并且有一个差异图(例如,这里)与平均值(或总和)在医学上,这通常被称为AB(A+B)/2A+B(可能是因为它更早被奥尔德姆使用)并且在统计学中它通常被称为 Tukey 均值差图。

该图的另一个来源是 Neyman, J.、Scott, EL 和 Shane, CD 1953。关于星系的空间分布:特定模型。天体物理学杂志117:92-133。

从广义上讲,这样的图类似于绘制残差与拟合图的概念,也被 Tukey 和他的姐夫平方 Anscombe 推广。

此类图的关键思想是无差异的水平线自然等同于等价线,但在心理上使用水平参考线通常更容易。此外,如果大致相似,则散点图会利用其大部分空间来强调这一事实,而差异的结构应该更令人感兴趣。AB=0A=BAB

一个被忽略的设计是 McNeil, DR 1992 的平行线图。关于绘制成对数据。美国统计学家46:307-310。这也在下面的两个参考文献中进行了讨论。

Stata 链接的评论,有几个参考,在

2004,绘制协议和分歧。统计杂志 4:329-349。

.pdf 可访问http://www.stata-journal.com/sjpdf.html?articlenum=gr0005

用于变化、相关性和其他比较的配对、平行或剖面图。统计杂志9:621-639。

.pdf 可访问http://www.stata-journal.com/sjpdf.html?articlenum=gr0041

非 Stata 用户应该能够跳过和哼唱 Stata 代码,同时研究如何在自己喜欢的软件中实现图形。

在所有情况下,如果感兴趣的是的比率而不是其差异,则应使用完全相同的想法,但使用对数标度。AB

尝试单个 (A,B) 点的散点图。它们中的大多数应该只位于对角线的一侧(线 A = B)。误差线有两种类似物。传统的,相当于平均差的 CI,将是平均差的置信带。带将是两条线之间的区域,两条线都平行于对角线。当且仅当带的两个边缘都在对角线的同一侧时,配对 t 检验才有意义。

更保守的误差条模拟将是质心的置信椭圆。

初步总结:

Masson/Loftus非常详尽,对于那些不接受“互动”之类的医学同事来说,这不是一本容易阅读的书。他们还对多重比较提出了一些建议,这表明当不想大量简化时,成对置信区间很难说明。

马森洛夫图斯

我不喜欢这种风格:带有误差线的条形看起来像上个千年 Excelish。然而,他们也使用了稍微优雅的风格:

Masson Loftus 无栏杆

卡明/芬奇贝利亚等人。是必读。第一个是送给您的朋友的完美选择,当他(她)看到“互动”这个词时会不寒而栗。读完那篇文章后,我订购了卡明的书。第二个显示了我将在Shiny 中为下一次医学调查员会议实施的测试。

卡明/芬奇

我喜欢这个情节,即使我以前从未使用过第二个轴;检查 Henrik 和其他一些人对StackOverflow的贡献,以获取基于 R 的图形方法来获取它。我宁愿将第二个轴放在差异的左侧,以绝对清楚地表明值发生了变化,并且可能添加一个 p 值轴。

任何来自 lattice/ggplot 分数的人都在拍摄吗?所有提供的解决方案都是基本图形,而不是可面板化/可分面的。

但是:请注意,评论和论文大多来自心理学系(以及来自核心化学的@cbeleites)。最好能得到医学期刊审稿人的意见。