欢迎光临散文网 会员登陆 & 注册

Bland Altman分析的Origin实现(附带MATLAB实现)

2022-04-04 21:03 作者:老张你去哪儿  | 我要投稿

Bland Altman分析的Origin实现(附带MATLAB实现)

参考教程:

https://cloud.tencent.com/developer/article/1556951

教程是用Python做的,我比着做了MATLAB和origin两个版本,MATLAB用于理解Python,origin实现点点点傻瓜式操作。

重点讲解origin操作,MATLAB代码附在最后

step1:导入数据,true和pred两列,都设置为y轴数据

   

                                         

 

step2:计算两列数据差,在F(x)窗格输入col(a)-col(b)即可,同理,计算pred和true数据的均值,如图


 

 

step3:使用统计功能对差值进行统计,默认选项即可,将获得的结果,新建立两列进行存储mean和standard deviation


 

 

 

 

 

step4:计算95的置信区间,up=col(e)+1.96 * col(f),down=col(e)-1.96 * col(f)

 


 

 

 

step 5:对数据进行排序,方便绘图,选中一列数据,然后右键,按图中选择即可





 

step6: 绘散点图,选中mean和diff数据,plot-》scatter



 

 

 

 

step7:增加置信区间线和差值平均值,绘制好的散点图激活,然后insert,plot to layer ,line


 

 

弹出窗口,点ok

 


 

弹出的窗口,添加需要添加的线条,先up然后按住ctrl选中down,点向右箭头,


 

同理,添加diffmean数据,如图


 

 

点击ok,得到初步的图像了


 

 

step8:调整颜色,字体,线条类型,边框类型等元素

粗调如下:

另附MATLAB代码如下:

%绘制blandaltman图形

clear all;clc;close all;

ytrue=[123.25, 126.83, 79.70, 129.23, 110.23, 116.53, 88.35, 90.04, 129.32, 211.44, 142.93, 135.41, 135.63, 92.58, 75.82, 93.90]';

ypred=[86.32, 136.65,73.33, 133.19, 119.34, 101.29, 88.40,113.25, 131.44, 210.50, 124.82, 112.81, 139.93, 92.13,77.04,90.14]';

x=(ytrue+ypred)/2;

ydiff=-ytrue+ypred;

ydiffmean=mean(ydiff);

ydiffstd=std(ydiff);

up95=ydiffmean+1.96*ydiffstd;

down95=ydiffmean-1.96*ydiffstd;

figure

scatter(x,ydiff,'filled','r')

hold on 

yline(up95,'-r','95up','LineWidth',2)

hold on 

yline(down95,'-r','down95','LineWidth',2)

hold on 

yline(ydiffmean,'--b','diffmean','LineWidth',2)

 


Bland Altman分析的Origin实现(附带MATLAB实现)的评论 (共 条)

分享到微博请遵守国家法律