大统计数据季刊经典作品,转发具体内容明确要求见variations
译者|王愫 黄文畅 校订| 刘元仁矇
特邀时评总编辑黄志敏同学所推荐语:
“我时常被问及两个难题:我没有控制技术基本功,能自学统计数据建模吗?我讨厌举两个范例来提问:很多到英国学新闻报道的女生,原先在亚洲地区是学词汇或学新闻报道的,一点儿程式设计都要学,到英国后短短的两年,不但跟得上了课业,程式设计设计摄制剪接个个能上手。所以不是你是甚么此基础,是你有多大的动力系统和阻力。这首诗不但提供更多了自学方向,还明确提出最实用的提议:现在就著手去做吧!◆◆ ◆
导 读
目前有很多用作统计数据建模的应用软件和辅助工具,都十分快捷新颖。我极难提问像“我如果学着用甚么辅助工具?甚么是最合适的?”这种的难题,因为多于适宜他们的才是最合适的。像Excel这种带队标识符都不必写就能做统计数据建模的辅助工具,即使被很多人用以画美景呢。但是,写标识符做他们的统计数据建模还是有很多益处的,除更为灵巧高效率外,还能全然依照他们的须要进行“订制”。
用程式设计同时实现建模其实是十分有趣的,虽然从起点自学程式设计不是那么容易,而且大部分人都会说没有足够的时间,但我依然觉得,为了获得长期的收益,从一开始花点功夫还是值得的。
以下的部分是依照我使用不同程式设计词汇及辅助工具的经验分享给大家的一点儿小提示。
◆◆ ◆
四个基本功
1.使用你最熟悉的应用软件
自学用程式设计建立统计数据建模不代表要摒弃你已经熟悉的辅助工具。我一般使用任何能够最快速解决难题的辅助工具,这个辅助工具能是Excel,GoogleSheets,或者是Python。
你不须要只用R或者只用JavaScript做完所有工作,在一项工作中囊括不同的辅助工具是有益处的。你的最终目的是制作建模图表,每一步的结果会引导你进行到下一步,所以不要太纠结于用“正确”的方法做事。
2. 从此基础做起
不要期待你第一次尝试就会做出十分高级十分惊艳的视觉效果。尤其在自学的初期,你是有很多路要走的,所以要从此基础做起,再慢慢去使用更为高级的基本功。这种你才不会一开始就感到备受打击,从而放弃自学的希望。
在R词汇中,有很多辅助工具包能帮助你做事情,即使有时候你只要使用两个函数就行了。但是如果你不熟悉R的程式设计句法,我还是提议你从最基本的R词汇学起,即便可能会很多难。
就好比我之前提到的d3.js这个JacaScript函式库,如果你不熟悉JavaScript,或者刚刚开始自学程式设计,很多类似的东西都会看起来极难。我提议你从MikeBostock写的此基础教程学起,慢慢开始了解你做的东西。
3. 找两个项目去完成
不要认为要把所有的东西学完再开始做项目,这种你会被耽搁。先自学一些此基础知识就能开始了,这至少能保证,日后当你遇到难题在网上搜索的时候,能够看懂那些解决方法。
选择一些统计数据,然后开始著手尝试建模吧。一开始的进展肯定十分缓慢,你也会觉得很困惑,这都是很正常的。我直到现在还时常因为一些难题感到困惑,但你一定要坚持做完。
做项目的受益之处,是它逼着你去自学你须要知道的。你每做完一个项目,下两个就会变得容易一些了。
通常两个统计数据建模的项目会分成以下的步骤。
处理和格式化统计数据
当我有两个非矩形分隔的文件,或统计数据比较凌乱时,我会写一些特别的Python脚本。幸运的话,我会找到并重新利用过去已有的脚本。有时会用 Beautiful Soup 来修饰,有时会用csvkit。
我多于在须要加载csv格式表格时才会用到R,通常只是做统计数据聚合,合并,或处理从原来的统计数据中派生的部分。
Tabula
多用作公开的政府统计数据,包括在PDF文件中涉及的统计数据。没有Tabula的话这个过程将十分痛苦。
多于在有需求的时候才会用到它。统计数据读入Excel中,然后再导入像Numbers或是OpenOffice这种的辅助工具中。
有时使用电子表格比写脚本更快,我很讨厌这种简洁的过程。
2) 分析统计数据
在你去做最后的图形之前,你须要先了解这个统计数据集。
这里我想到的是R。因为R作为两个开源的统计计算词汇,它有两个很丰富的社区,数不尽的扩展包,以及在Stack Overflow上大量的已解答的难题。
制作静态图形
这对我来说通常包含两个阶段:( i )在R中进行建模;(ii)在Illustrator中润色。
在R中有建模辅助工具包,如ggplot2,但我几乎全部使用R自带的那些功能,即base R。对此我写过很多教程。
如果图形要发布给别人看,我会以PDF格式保存R生成的图形,并在Illustrator中编辑。虽然很多矫枉过正,但效果还不错。我也在考虑试着用Sketch。
制作交互式图形
Flash已经过时了,而JavaScript是新的宠儿。R在这里应用不广。
我用统计数据驱动的文档来做交互式的统计数据建模(我还在自学中)。有很多范例能用以试手。但如果我想快速完成两个图表,我有时也会尝试用Vega-Lite。
4.认真阅读程式设计指南和范例
程式设计指南是很有用的。一开始可能会很多难,但你必须要适应。如果你的程序出了难题,很大可能是因为你写的不对,而不是标识符的同时实现有难题。所以这个时候你就须要仔细阅读指南,确认你的函数运用是正确的。
在R词汇中,所有函数的指南都是用相同的格式写的,它会告诉你这个函数有哪些参数,返回值是甚么,并且之后会给出使用的范例,这些范例都十分经典。
d3.js函式库的创建者MikeBostock就写了十分好的指南,在网上也有很多其他教程。Bostock在指南中收录的大量范例是十分有用的,每当我遇到难题,在网上搜索解决方法的时候,我一般都会把出现的难题和“mbostock”放在一起搜索。
5. 著手去做
我有时会也会因为想太多而迟迟不开始,但是只要你能著手按照以上的小提示去做,能节省很多时间。用辅助工具进行统计数据建模,一般会有两个最优的做法,但没有必要从一开始就去寻找它。先把形状和颜色在屏幕上试下,然后将统计数据编译进去,让统计数据在大体上看起来没难题。如果很多不对劲(尤其是对于含有互用和动画的建模项目),你再去寻求更优化的做法。一般情况下,即使不是最优,你的图表也是没错的。
好了,就说这么多。现在请著手去做吧!
素材来源:http://flowingdata.com
关于转发:[email protected]。总编辑及编译团队
◆◆ ◆
往期精彩文章所推荐,点击图片可阅读
建模脑洞|十四个统计数据建模的奇妙范例
[建模]统计数据原来这种美