R语言的“密度提琴图”绘制方法,让提琴图更加丰富多彩

Python021

R语言的“密度提琴图”绘制方法,让提琴图更加丰富多彩,第1张

最初我是在“ A genome-based model for adjusting radiotherapy dose (GARD): a retrospective, cohort-based study ”这篇文章中看到的一个图。

它形似一张提琴图,展示了来自不同类型疾病患者个体的GARD得分的分布,图中红色点代表了中位数。但与常规提琴图不同的地方在于,提琴图中还添加了密度信息,即数值分布更多区域颜色更为明显。尽管提琴图的宽度足以代表数值的分布区间了,颜色的添加使其更为丰富多彩。

本节内容,就让我来讲一下这种“密度提琴图”如何在R中绘制。

其实,如果从提琴图的角度出发,即首先绘制一个提琴图,然后设法在其中标识出密度,则该图是很难实现的。这点我深有体会,好几个人折腾了老半天也没能成功地在提琴图中设置密度颜色。

因此,我们需要换个角度思考该图的绘制方法。设想一下,既然要表示密度,那么首先不妨绘制一个密度分布图观测数据。

有没有什么感触呢?

对的没错,密度提琴图可以视为两张“相反方向”的密度分布图的叠加。因此,我们再绘制一个反方向的。

最后,将两张图组合在一起,就获得密度提琴图了,是不是?

同时,也计算各个变量的中位数,并以红点的形式标注在图中。

这样,密度提琴图就得到了。和常规的提琴图相比,它是不是更漂亮呢?

条形图使用的函数为'barplot(x)',其中x为向量

以关节炎研究包vcd为演示对象

治疗类型和改善情况的列联表

条形图并不一定要基于计数数据或频率数据。你可以使用数据整合函数将结果传递给barplot()函数。

来创建表示均值、中位数、标准差等的条形图。

棘状图对堆砌条形图进行了重缩放,这样每个条形的高度均为1,每段的高度即表示比例。

增加名称、颜色和填充颜色

可比较的密度图

箱线图(又称盒须图)通过绘制连续型变量的五数总括,即最小值、下四分位数(第25百分位数)、中位数(第50百分位数)、上四分位数(第75百分位数)以及最大值,描述了连续型变量的分布。箱线图能够显示出可能为离群点(范围±1.5*IQR以外的值,IQR表示四分位距,即上四分位数与下四分位数的差值)的观测。

并列箱线图

对box图的参数进行修改

双因素交叉的箱式图

小提琴图(violin plot)是箱线图与核密度图的结合。需要安装vioplot包

点图提供了一种在简单水平刻度上绘制大量有标签值的方法。

分组、排序、着色后的点图