处理数据、制作可视化:数据记者利器推荐

Print More

工欲善其事,必先利其器。想做优秀的数据记者,也得随时备好工具。深度君借鉴数据记者的工具包分享,分功能推荐R语言程序包和其他软件,教你准备属于自己的数据利器。大家还可参考《干货 | 数据收集和处理工具一览》。点击“阅读原文”,即可查看文中所提的软件和教程。

获取、清洗数据,调整格式

Tabula

2想从PDF里抽数据?不用编程,免费软件Tabula就能一举搞定。安装并打开Tabula后,上传PDF文件,选中表格信息,点击“预览&输出抽取数据(Preview & Export Extracted Data)”检查数据,再戳“输出(Export)”即可get表格或纯文本格式数据,任务完成!Tabula可兼容 Windows, Mac 和Linux系统,目前已更新为1.0.1版本。了解详情,请登录官网阅读版本说明,从主页下载软件即可。

不过,Tabula没法抽取扫描文件的数据,这时应换用OCR软件(光学字符识别软件)。

Open Refine

3数据一多,就有可能残缺、冗余,或名称不一致,数据量越大越可能出错。如何快速整理杂乱无章的数据呢?免费开源的数据清洗工具Open Refine是个好帮手。它在浏览器上运行,帮你在使用数据前挖掘、清洗数据——别怕原始数据会因此遗失,它在网上运行的同时,也悄悄把所有数据存进了电脑。

点击《数据清洗神器Open Refine简明入门》即可查看数据新闻工作坊编写的教学指南。

LibreOffice/Google sheet/MS Excel

4要想检查、修改数据,作基本清洗,最常用的就是Excel了(常用表格应用还有LibreOfficeGoogle sheet)。虽然Excel众人皆知,但还有好多隐藏功能待你解锁。例如,Excel2016可以连接新工具Power BI,制作可视化、生成数据图表都不在话下。如果想自学Excel的数据分析技巧,可参考知乎上的详细讲解

R

5本次要隆重介绍的,是免费开源统计语言R。它除了能清洗数据、统计分析,若有程序包rvest,还可通过公开数据门户(世界银行、欧盟统计局等机构)的API抽取数据。R是处理数据的好手,在程序包tidyr和dplyr的帮助下,可以实现合并、设置子集、聚合等多个功能。

分析数据

在数据驱动新闻领域,快速浏览数据是分析、制作的前提。这就意味着要搜索符合条件的数据,或快速检查数据特征、找出异常值。

6之前提到的R也是优秀的数据分析工具。安装程序包ggplot2后,即可用R快速调整数据,绘制形态各异的图像。再次推荐大家看解说+例子齐全的知乎介绍。数据分析结果出炉后,还可以用R的程序包markdown编辑和标记数据,制成编码和图表齐全的报告。Markdown的与众不同在于,文本可随代码或数据的改变自动更新,且输出格式齐全:包括HTML, PDF, Word, Beamer模板, HTML5 演示, Tufte讲义, R插图,甚至是整个网页。

制作图表

静态数据可视化

R (ggplot2 + Inkscape/Illustrator):

说到制作数据图,R生成的图只是方便查看数据,美观不足。要想化枯燥为生动,就得多打几行代码。可以参考上面提及的ggplot2程序包制图法,或者查阅Wikibooks的介绍get更多技巧。

ggplot2制图一览

R的图表可以存成PDF或者SVG格式。SVG是可缩放矢量图形格式,能随页面大小自动调整,更适合移动端浏览。这两种格式都能在软件Inkscape(免费开源)或Adobe Illustrator上手动编辑,添加注记图层。

如果PNG或GIF的图片想转成SVG,怎么办?试试在线转换工具Vector Magic,编辑时可对比原图。

交互式数据可视化

Datawrapper

屏幕快照 2016-04-28 17.22.25有了开源工具Datawrapper,无需编程,即可迅速制图。方法是:输入数据(复制黏贴或上传CSV文件,注意格式统一)——选中图表样式——保存文件名——点击“Publish(发布)”。你可以免费生成可视化、保存PNG格式。目前可生成折线图、柱状图、叠加柱状图、地图、圆环图、表格图。付费可获取图像链接(用于嵌入网页)或设计更多元素。

D3.js:

如果有编程基础,可以选D3.js练手。看看下面炫酷的可视化,就知道D3.js功能有多广泛了:它可操作数据的Javascript库,能用HTML(显示页面内容),SVG(绘图)和CSS(设计样式)制作炫酷的可视化,目前它的代码托管于GitHub(全球最流行的代码托管平台)。

屏幕快照 2016-04-28 17.22.53

D3.js优点多多,其中就有:

  1. 可将任意代码绑定文档对象模型(即DOM,JavaScript通常用DOM读取、修改HTML或XML文档),用一串数字就能生成HTML表格,或者用相同数据创制互动的SVG图表
  2. 可处理大型数据集。
  3. 可用插件和组件多,随意绑定数据和元素,玩转多种可视化效果。
  4. 有中文API哦。

更详细的入门教程,请参考:

R + rCharts / htmlwidgets:

觉得D3.js学起来太麻烦,想节省时间,就回到你刚才用过的R,只要再安装rCharts或htmlwidgets等程序包就可以做交互图表了。优点是数据分析和图形制作的代码都可以放在基于相同元数据的同一脚本,方便多次制图和效果更新。

同理,在R上安装程序包leaflet.js可以制作地图,安装Highchart就可制作多种多样的互动图表。成品如下(点击可见详情,还可参考Highchats中文网

点击下面的缩略图,即可查看可视化作品哦:7

7.1

 

7.3

7.2

屏幕快照 2016-05-10 11.37.02

Duc Quang NguyenDuc Quang Nguyen是瑞士资讯(swissinfo.ch)的数据记者和项目经理,他曾获得牛津大学计算生物学(computational biology)博士学位,当过数据科学家,目前转做数据记者。Nguyen热衷于数据挖掘、公开数据、开源工具和数据驱动新闻领域。

瑞士咨询是瑞士广播电视集团的国际服务机构,提供有关瑞士和国际的政治、经济、文化、社会和科技领域报道,含10种语言平台。

参考来源:

  1. Global Investigative Journalism Network, A Data Journalism Expert’s Personal Toolkit (本文原刊于Medium,GIJN经授权转载)
  2. 全球深度报道网,《调查记者专用:数字信息调查工具清单》
  3. 全球深度报道网,《数据清洗神器Open Refine简明入门》
  4. 少数派,《认识与入门Markdown》
  5. Computerworld, Create simple, free charts with Datawrapper

编译/周炜乐,编辑/Ivan Zhai, 王一苇

Leave a Reply

Your email address will not be published. Required fields are marked *