SAS Bland Altman分析

2018-12-15 10:17 更新

Bland-Altman分析是驗(yàn)證設(shè)計(jì)用于測(cè)量相同參數(shù)的兩種方法之間的一致性或不一致程度的過(guò)程。 方法之間的高相關(guān)性表明在數(shù)據(jù)分析中選擇了足夠好的樣品。 在SAS中,我們通過(guò)計(jì)算變量值的平均值,上限和下限來(lái)創(chuàng)建一個(gè)Bland-Altman圖。 然后我們使用PROC SGPLOT創(chuàng)建Bland-Altman圖。

句法

在SAS中應(yīng)用PROC SGPLOT的基本語(yǔ)法是:

PROC SGPLOT DATA = dataset;
SCATTER X=variable Y=Variable;
REFLINE value;

以下是使用的參數(shù)的描述:

  • Dataset是數(shù)據(jù)集的名稱。
  • SCATTER語(yǔ)句表示以X和Y的形式提供的值的散點(diǎn)圖。
  • REFLINE創(chuàng)建水平或垂直參考線。

在下面的例子中,我們?nèi)蓚€(gè)名為new和old的方法生成的兩個(gè)實(shí)驗(yàn)的結(jié)果。 我們計(jì)算變量值的差異以及相同觀察值的變量的平均值。 我們還計(jì)算要在計(jì)算的上限和下限中使用的標(biāo)準(zhǔn)偏差值。

結(jié)果顯示Bland-Altman圖為散點(diǎn)圖。

data mydata;
input new old;
datalines;
31 45
27 12
11 37
36 25
14 8
27 15
3 11
62 42
38 35
20 9
35 54
62 67
48 25
77 64
45 53
32 42
16 19
15 27
22 9
8 38
24 16
59 25
;

data diffs ;
set mydata ;
/* calculate the difference */
diff=new-old ;
/* calculate the average */
mean=(new+old)/2 ;
run ;
proc print data=diffs;
run;

proc sql noprint ;
select mean(diff)-2*std(diff),  mean(diff)+2*std(diff)
into   :lower,  :upper 
from diffs ;
quit;

proc sgplot data=diffs ;
scatter x=mean y=diff;
refline 0 &upper &lower / LABEL =  ("zero bias line" "95% upper limit" "95%
lower limit") ;
TITLE 'Bland-Altman Plot';
footnote 'Accurate prediction with 10% homogeneous error'; 
run ;
quit ;

當(dāng)執(zhí)行上面的代碼中,我們得到以下結(jié)果:

增強(qiáng)型

在上述程序的增強(qiáng)模型中,我們得到95%的置信水平曲線擬合。

proc sgplot data=diffs ;
reg x = new y = diff/clm clmtransparency= .5;
needle x= new y=diff/baseline=0;
refline 0 / LABEL =  ('No diff line');
TITLE 'Enhanced Bland-Altman Plot';
footnote 'Accurate prediction with 10% homogeneous error'; 
run ;
quit ;

當(dāng)執(zhí)行上面的代碼中,我們得到以下結(jié)果:


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)