主页 > 最新资讯 >
一维数据可视化:散点图(dot plot)
发布时间:2020-10-15 01:48 | 信息来源:吉祥棋牌官网

  在统计分析过程中,有时需要对一维数据(单变量数据)进行可视化,以方便观察数据点分布的特征,并提出基于直观感受的预测。

  一维数据(单变量数据),顾名思义,就是可以用一个变量来表示的数据集。比如,对CPU的使用率进行随机采样所得到的数据集就是一维数据:

  对于一维数据,可以通过散点图来进行可视化。所谓散点图,就是把所有的数据点都描绘在一条直线上(一般使用水平直线),数据点的值决定其在直线上的位置。以上述CPU使用率数据为例,下面就是该数据的散点图:

  上面的散点图有个问题:数据聚集的地方无法清晰地分辨出聚集程度,而值相同的数据点则会互相遮蔽从而引起误解。

  对于散点图的这个问题,一个解决方案是将数据点进行分离,比如将值相同的数据点进行层叠:

  另一个解决方案则是对所有的散点进行随机离散化(抖动图 jitter plot):

  与之前的散点图相比,抖动图在表示数据点的分布和聚集程度上显得更加自然。我个人也更倾向于使用抖动图来展示一维散点数据。

  抖动幅度的设置。抖动幅度过小,则散点过于聚集;抖动幅度过大,则散点过于分离。两者都不利于对散点数据进行观察。

  数据点符号的选择。除了上述例子中的空心小圆环,抖动图可以用别的符号来表示数据点,比如实心小三角形等。不过在数据量稍大的情况下,空心小圆环是一个很不错的选择,因为即使发生数据点的部分重合,抖动图的观察者都可以轻松地分辨出这两个数据点。

  在R中,一维数据是用Vector来存放的,可以在R控制台中通过键盘输入来进行创建:

  更实用的方法则是读取数据文件并将文件中的一维数据导入到R中。比如,对于以空格分隔的数据文件:

  在R中,散点图的制作是通过使用stripchart()函数来实现的。比如,以下语句将生成图1(散点图):

  其中,cpu是一个Vector变量,保存了从数据文件中导入的一维数据;pch=1指定了数据点的符号为空心小圆环(如果不指定则使用默认值:空心小方块)。

  如果需要生成图2(层叠散点图),则需在stripchart()函数的使用中定义method为”stack”:

  关于stripchart()函数,可以在R中用help(stripchart)来读取帮助文档,也可以直接访问网上的在线文档:

  缘起豆瓣上Yummy同学的询问:Programmer如何自学Bioinformatics。在经过一些思考之后,以下是我的回复: Hi, Yummy, 个人感觉你给自己身上压的担子太重了,这个有那么多书要看,那个有那么多基础要学,最终可能会把初始的兴趣给磨掉的 — 依据兴趣而来的学习、工作,总是轻装上阵的比较好。 不确定你自学Bioinformatics的目的是什么,如果你自学Bioinformatics是想玩Paper找教职呆高校研究所的话,那就没有必要学习Bio的东西,也没有必要学习Perl或者Python。找个你信得过的Bio背景的人做搭档,他/她提供数据/需求,你来做分析/实现,最后一起发Paper。需要用到Perl的时候学Perl,需要用到Python的时候学Python,需要用到统计的时候学统计 — 以你多年的开发经验,拉起一门编程语言翻上一星期书也就够了(当然,代码质量可能差点,但一上来实现想法/功能的时候代码质量没那么重要)


吉祥棋牌官网
网站地图 人才中心
Copyright © 2006-2019 YONGHUI SUPERSTORES, All Rights Reserved. 中国福建省福州市西二环中路436号 消费者服务热线:4000601933 公安机关备案号 35010202000593 法律顾问:通力律师事务所 翁晓健、张洁律师团队本站由吉祥棋牌官网建设维护