题目:基于GraphPad,Photoshop与R语言的作图与图片编辑
作者:马玉洁
审读:王金磊
发布:马若昱
时间:2019-09-17
基于GraphPad,Photoshop与R语言的作图与图片编辑
1 培训内容
这次培训课程主要讲了两个软件:GraphPad和R 语言。GraphPad不仅是制图软件,也是一个统计软件。
首先是在GraphPad中对数据集的创建,不同的统计类型,对应不同的统计分析方法。XY主要用于线性回归,非线性回归,相关分析的统计。Column主要用于单样本t 检验,配对t 检验,成组t 检验,单样本秩和检验,两组独立样本秩和检验,多组独立样本秩和检验,单因素方差分析等的统计。Grouped 主要用于多元方差分析,重复测量的方差分析。Contingency 主要用于卡方检验,Fisher精确检验。Survival主要用于单因素生存曲线比较的统计。这是GraphPad 软件在创建数据集之前要搞清楚的问题。对应相应的统计类型,创建不同的数据集,最后由统计数据得出相应的图像。
接下来是工具菜单栏的功能介绍,工具菜单栏主要包括以下及各项内容:(1)文档操作模块。包括对数据的打开、新建、保存、前进、后退、复制与粘贴等,和Office基本一致;(2)分析模块。主要用于统计分析曲线拟合,部分功能可以替换统计软件的功能;(3)图形模块。这部分注主要是对图形的做标轴,图注,图中标注的大小和位置的调整,是很普遍也很常用的工具栏;(4)文字修饰模块。这里可以绘制线条、添加文字,并对文字的大小和位置进行调整。同时,这项内容也是最常用;和(5)图形输出模块。包括图形的导出、打印和一键输出至word或PPT。
在统计图当中,标题可有可无,但X轴,Y轴和图像区是必须的 (图1)。
图1 在已知统计数据生成的图像,可在GraphPad的工具菜单下直接对轴的粗细和数字的大小进行编辑。
目前论文对统计图的基本要求为:(1) 统计图的关键在于合适和规范;(2)不是所有数据可以用图形来表达;和(3)不需要将所有结果用图形表达。如图2,我们一眼看过去,两个图形走势不一样,就会觉得这是两张图。其实,这是同一组数据生成的图形,只是纵坐标的标注不一样。
图2 不同走势图像。
目前常见统计方法图形表达有很多种,以XY轴成组t检验:(XY图-药动学研究案例);假如表1是我们实验所得数据。给定两组药物血药浓度-时间数据,要求:(1)做Lg(血药浓度)-时间曲线图-XY图;和(2)计算两种药物的药动学参数:曲线下面积AUC(0-48h)数据处理、公式和函数(AUC(0-48h)为0-48h血药浓度时间曲线下面积(图2),可用梯形法计算;无需关注公式的专业意义,只需关注公式和函数的使用方法)。
表1 给定两组药物血药浓度-时间数据
Drug A | Time(h) | A1 | A2 | A3 | A4 | A5 | A6 |
0.083 | 1.507 | 2.52 | 1.54 | 2.015 | 2.026 | 1.676 | |
0.167 | 1.256 | 2.323 | 1.331 | 1.591 | 1.824 | 1.203 | |
0.5 | 1.976 | 1.786 | 0.583 | 1.883 | 1.182 | 1.408 | |
1 | 0.749 | 1.054 | 0.533 | 0.902 | 0.792 | 0.705 | |
2 | 0.394 | 0.763 | 0.582 | 0.579 | 0.671 | 0.537 | |
4 | 0.584 | 0.883 | 0.48 | 0.734 | 0.68 | 0.585 | |
6 | 0.926 | 0.364 | 0.373 | 0.645 | 0.367 | 0.714 | |
9 | 0.426 | 0.428 | 0.198 | 0.427 | 0.312 | 0.343 | |
12 | 0.387 | 0.27 | 0.209 | 0.329 | 0.239 | 0.328 | |
24 | 0.083 | 0.064 | 0.084 | 0.074 | 0.074 | 0.092 | |
36 | 0.048 | 0.055 | 0.055 | 0.051 | 0.055 | 0.057 | |
48 | 0.034 | 0.034 | 0.036 | 0.034 | 0.035 | 0.038 | |
Drug B | Time(h) | B1 | B2 | B3 | B4 | B5 | B6 |
0.083 | 2.154 | 2.531 | 3.012 | 2.621 | 2.530 | 2.519 | |
0.167 | 1.777 | 2.793 | 3.063 | 2.086 | 2.468 | 2.662 | |
0.5 | 1.061 | 3.695 | 1.806 | 1.641 | 2.569 | 2.500 | |
1 | 0.624 | 1.838 | 1.149 | 1.757 | 1.330 | 1.358 | |
2 | 1.655 | 1.792 | 0.969 | 1.589 | 1.862 | 1.255 | |
4 | 0.688 | 1.507 | 1.123 | 1.227 | 1.186 | 1.196 | |
6 | 1.266 | 1.964 | 0.594 | 1.106 | 1.744 | 1.163 | |
9 | 1.508 | 0.722 | 0.775 | 1.049 | 1.206 | 0.681 | |
12 | 1.026 | 0.787 | 0.758 | 0.763 | 0.979 | 0.703 | |
24 | 0.164 | 0.317 | 0.112 | 0.401 | 0.260 | 0.194 | |
36 | 0.086 | 0.207 | 0.146 | 0.163 | 0.158 | 0.160 | |
48 | 0.085 | 0.080 | 0.080 | 0.090 | 0.090 | 0.073 |
图3 血药浓度时间曲线。
相比较四种经典统计学软件的优点,R语言是完全开源,且免费使用,它的功能也很强大,包括图形绘制统计分析。一般的数据分析步骤为:导入数据,拟合一个统计模型,在数据上评估模型预测结果,最后形成报告。R语言在医学科研当中的作用不仅仅是数据分析,绘制图形,还有数据清洗功能,所谓数据清洗,就是剔除相同的数据,删除重复的数据,以及对缺失数据的补齐等。
R语言最常见的绘制的图形有热图,亚组分析森林图 (图4),生存分析曲线等。
图4 亚组分析森林图
R语言的工作空间就是R语言的工作环境,它存储着用户定义的所有对象,包括向量,矩阵,函数,数据框和列表 (图5)。
图5 逻辑函数。
包是扩展R基本功能的机制,集成了众多函数。如果想使用某些函数而当前R中不存在,就可以找对应函数包来直接使用(图6)。
图6包的下载和使用。
仅仅下载下来,包是不能直接使用的,在使用包之前,还要进行加载,输入代码library(包名)就可以加载caret这个包,接下来我们就能使用这个包中的函数。通过命令查找可以引导我们找到哪些包已经加载。我们在这里直接通过,install.packages函数+包名,直接下载安装包。例如,包gclus中提供了创建增强型散点图的函数。可以使用命令install. packages("gclus")来下载和安装它。即,一行代码,实现了一个包的安装。
2 培训总结
R语言作为作者绘图的主要软件,我们在接触之初,就像当时学习C语言一样,艰涩难懂,但慢慢跟着老师的节奏画出了和老师一样的图的时候,很是高兴。虽然我们不需要做实验得出那些数据,但是,这次培训让我清晰了解到从科研人员得出数据之后到图的呈现这之间的一系列工作。
通过此次培训,让我明白工作的意义不仅仅是遇到困难时候的处理方法,更是我们人生经历的一个必然的过程,我们做好工作,是不断的超越自己,这也是一个意义。再次感谢马总,为我提供了宝贵机会学习,让我感悟!
图7 马玉洁电子编辑参加培训。