Data-Visualization

如何顯示交叉(配對)實驗的誤差線

  • June 3, 2013

以下場景已成為調查員(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()

您的假設是完全正確的,即代表平均值標準誤差的誤差線完全不適合主題內設計。然而,重疊誤差線和重要性的問題是另一個話題,我將在這個評論參考列表的末尾回到這個話題。

心理學有豐富的文獻關於受試者內置信區間或誤差線,它們完全符合您的要求。參考工作很清楚:

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

引用自:https://stats.stackexchange.com/questions/60767

comments powered by Disqus