数据可视化初体验(R语言)

机器学习 1538 Views

数盟倡导“数据创造价值”,致力于打造最卓越的数据科学交流平台,为企业、个人提供最卓越的服务】

前些天通过一张美丽的图片,闯进了FlowingData这个世界,开始真正去了解数据可视化。“The greatest value of a picture is when it forces us to notice what we never expected to see”是该网站about中的第一句话,在逛了不少可视化的网站和博客之后,个人觉得这句话是数据可视化最好的注解。大数据像是‘黑盒子’一样的新世界,现在我们用数据挖掘来探索这个世界的规则和信息。但是没有问题导向的数据挖掘需要花费大量的时间来探索。另外眼睛才是我们认识世界最直接有效的渠道,所以如果我们能够将数据世界具体化呈现出来,那么其实很多规则我们用眼睛就可以看得到。甚至看到更多隐藏的信息。数据可视化不仅仅是为了展示数据,而是通过图像残留来增加人思考的时间和质量,加大概率发现隐藏在数据背后的未知。

这幅图是twitter近3亿用户按经纬度和语言的分布。逻辑上很简单的图,但当却耐人寻味。你可以把一张欧洲地理地图、公路铁路地图或者其他信息图与其进行对比,你会快速的清楚大部分的twitter用户所处的各种环境,甚至更多的信息,当然带来更多的思考点,而且这样的图形会经常浮现,让你整天处于思考状态。

另外发现了很多非常有意思的数据可视化网站:纽约时报的可视化工作实验室(商业性强);Information is beautiful(想象力丰富,数据可视化比赛);Flowingdata(前沿技术应用、产品化)。

  

目前数据可视化大军大都在UCD方面,像百度的流量研究院,和腾讯的qq游戏地图这些都是优秀的数据可视化产品,完美的效果和用户体验。但对数据从事人员来说,数据可视化是锦上添花的一部分,他们更重要的工作是从数据中挖掘出规则和信息,然后才将这些结果可视化出来。说到这里就有一种语言浮出水面:R。R是一种优秀的具有很强数据可视化功能的数据分析语言。

很些人总结出了一些数据可视化的步骤,如这里。这里我讲一下我的方法:类比代数学中的元素与映射,数据可视化本质上就是两样东西,一样是实体(你的研究对象,可以是任何范畴),一样是联系(就是两个或多个实体之间的关系)。其中实体和联系都有属性,比如把人当成实体,那么人有身高、体重等属性;而人与人之间的联系的属性有像亲密程度、贫富差距等属性。那我们需要的就是把这些信息最清晰的表现出来,我觉得这样的逻辑方式可以帮帮助我们对可视化进行分解,更容易解放想象力。 下面以中国航空数据图作为例子来讲一下。从这里可以得到机场的数据。从这里可以得到所有航线的数据。这两个数据集都是包含全世界的,需要从中将中国的数据提出。还需要做一些数据处理和分析工作,篇幅关系下面只给出了图形部分的代码。分几步来说:

国内一个专注于R语言自动化报告的学者谢益辉,开发了一个基于R语言的Knitr包,主要用来实现可重复统计报告。Knitr包主要是实现在标记语言Markdown中嵌入R代码,然后执行Markdown脚本就可以生成一份具有R程序分析结果的报告。

具体步骤为:

1. 先在R中建一份R-Markdown(.md)文件,可直接在其中写Markdown脚本。

2. 可以通过以下方式插入R脚本,并可以通过调参,控制R程序的输出包括表和图的各种属性控制。

3. 最后通过Knitr来运行这份.md文件可直接生产一份html文档,也可通过latex进一步产生一份pdf报告。

通过这个方案,其实我们可以定制一些日常可视化的数据分析报告,这不仅要比密密麻麻的数据报表来得要鲜活得多,而且支持更加深入的分析和针对性的结果展示.

注:本文采用R中的ggplot包实现可视化,这是一个图层逻辑的可视化工具(跟本文的可视化逻辑很符合),在这并没有详细阐述,待接下来再写一篇来好好介绍一下神奇的ggplot。

from:http://blogread.cn/it/article/6782

—————————————————

数盟网站:www.dataunion.org

数盟微博:@数盟社区

数盟微信:DataScientistUnion

数盟【大数据群】272089418

数盟【数据可视化群】 179287077

数盟【数据分析群】 174306879 ,110875722 ,321311420

—————————————————

更多精彩,点击阅读原文~

如未说明则本站原创,转载请注明出处:NULL » 数据可视化初体验(R语言)