中医药数据挖掘操作及作图
北国杏林
2024年06月10日 11:18

感谢up分享,根据视频做了一些笔记。

语雀笔记(包含所有图片):https://www.yuque.com/zhongtang-lhbfe/fr733w/qqg3ltrr5on05qvm?singleDoc#

软件资料准备:

中国药典:

链接: https://pan.baidu.com/s/1yORSE-Cs2trnMj6zrkEmQw?pwd=gvjw 提取码: gvjw

SPSS26:

链接: https://pan.baidu.com/s/1Bz7UGjpgSOiofSWUZBeGtg?pwd=iihc 提取码: iihc

安装教程:https://zhuanlan.zhihu.com/p/687818536?utm_psn=1783456415652671488

https://player.bilibili.com/player.html?bvid=BV1YT4y1D7aU&autoplay=0​

背景介绍

什么是数据挖掘

统计、在线分析处理

网络药理(在中医中做的最多)

强调对信号通路的多途经调节,多成分多靶点实现——中医整体观

一个中药——有多少成分(ADME)——有多少化合物——有多少药物靶点——有多少疾病靶点

药物的发现和疾病的发现

分子对接(只用来作图就好了)

受体和药物分子之间的相互作用

锁钥模型——一把锁一把钥匙开始

论文案例

数据挖掘

《邓高丕治疗子宫内膜异位症用药规律的数据挖掘研究》——中文核心

以门诊处方为数据来源

结果部分(最重要):频次统计;四气分析、五味分析;聚类分析;复杂网络分析

《基于数据挖掘技术探析中医药治疗中晚期非小细胞肺癌的用药规律》

以知网文献做数据来源

结果:频次分析、关联规则、聚类分析、复杂网络、因子分析

《基于古今云平台分析针刺治疗中风后认知障碍选穴规律》

结果:频次分析、关联规则、聚类分析

总结:

选择处方/文献,进行录入筛选,将可用的数据进行分析;将结果可视化(表格)

https://player.bilibili.com/player.html?bvid=BV1si4y1y7eq&autoplay=0​

具体操作:

网络贡献与关联规则制作:

前期数据准备展示:(20条数据展示)

重点做处方的分析

SPSS——矩阵数据(N=无,Y=有)

事务性数据(让所有的数据竖向排列)

事务性数据转换矩阵

注意:有别名的药物,要根据中国药典,把中药名标准化

建立透视表——完成后一定要备份!!每一步文件都要备份!原始数据不变!

①选中数据

②选中插入数据透视表

③数据透视表字段

透视表转换矩阵(制作总表)

①全选所有的复方信息字段

②ctrl+G呼出定位,定位条件选择空值

③输入框里输入0,ctrl+enter,所有空白值将都变成0

总表完善

利用替换功能,把0替换成N,1替换成Y。

SPSS-Modeler利用矩阵做网络贡献和关联规则的分析

①选择源,点击Excel,更改文件类型,导入文件,选择矩阵所在的具体sheet

②字段选项中选择类型,右键建立连接,点击类型进入,右键全选,在测量左键全部选成标记,角色全部选择任意;点击读取值(容易出现问题,重复字符处理,矩阵第一行是否有重复的第一行)

③在下方字段中,选择图形-网络,右键将“类型和网络建立连接”;

④点击网络,导入类型的数据全选,勾选仅显示true值标志;选择强链接教粗

⑤设置可显示的最大链接数(永远不会大于处方个数,设置为处方数即可);弱链接,强链接上限设置根据实际情况设置;输出注解默认即可;点击运行。

⑥点击建模-关联,选择Apriori算法进行关联规则的计算

⑦将算法拖上来,右键类型与算法链接

⑧具体设置算法,支持度(药对出现的频率)和置信度(当两个药物组合,A药出现B药也出现的概率是多少——需要查文献);其他默认选择,点击运行(从小到大调试)

⑨关联规则图已出,复制出来即可

聚类分析具体制作(选择频数前20-30的制作聚类)

①回到0,1的总表;将总计一行删掉,复制出来成为聚类的新的表格;将总表转置换,并排序;选择前20味中药

②打开SPSS Statistics;打开数据,导入“聚类”文件

③打开变量标注,确定度量标准为0/1,角色为输入

③在数据视图点击分析-分类-系统聚类

④聚类方法选择-组间联接;区间选择Pearson相关性,其他选择默认;点击确定开始输出

⑤出图后,可直接复制到PPT或者Word;在20节距添加竖线(PPT内操作即可);红线右侧的横线就代表即为多少聚类

频数四气五味归经的可视化(以中国药典为主)

数据转化

①将总表数据转换,第一列是频数,第二列是中药,第三列是性味,第四列是归经

②频数制作(归经与四气五味操作类似); 将第一二列排序,将第一列综合相加即为总计;单一药物出现频数除以总频数,即可知道频数和占比

可视化:

三线表制作

【R语言数据分析和论文三线表制作】

https://player.bilibili.com/player.html?bvid=BV1k24y1J7qU&autoplay=0​

彩图制作:以频数气泡图为例

①使用制图网站:镝数图表-在线动态图表工具-零代码数据大屏可视化-https://dycharts.com/

②点击图标模板,分类聚合,气泡图;点击编辑数据,将自己的数据考进去

③编辑图标,分类-药物分类,名称-药物,数值-频数占比都可以,根据自己要求更改标题,附加信息全部不要;设置好下载即可

④使用雷达图,制作四期五味归经

网络贡献图美化(使用SPSS model+Cytoscape)

数据准备——准备两个Excel文件

①SPSS model中做好的初步网络贡献图,复制到记事本中;

②从记事本转移到excel中;

③点击选项卡-数据-分列;用分隔符号分列;选择空格;第三步选择默认,点击完成

④保留两列药,一列频数;找出前后项有相同的药物,点击开始-条件格式-突出显示单元格规则

⑤保留前三列,所需文件——第一个表格

⑥把前两列变成一列,第三列是频数(为前期数据准备的频数,不是第一个表格的频数)——第二个表格

数据导入

第一个input文件导入

①打开Cytoscape,点击File-import-Network from File

②打开后选择meaning-node(绿色标识)

③第二个选Target(橙色标识);选择完后点OK

第二个input文件导入

①点击File-import-Table from File,打开第二个input文件

②打开后选择TO a network collection,其他选择默认即可

③选择TOOls-Analyze Network(分析出一些参数出来),其中最重要的是Degree(所连药物的线条药物越多,Degree越高,药物越核心)

④按照degree筛选,点击左侧Filter-Degree Filter进行筛选

⑤在Style中 根据Layout进行自定义调节,推荐圆形图