桌面端数据分析程序语言,其重点是使用方便且计算能力强。考察某种语言是否适合进行桌面端数据分析,可以用六个指标来衡量:应用环境、文件处理、文本和字符串处理、结构化数据处理、模型预测算法、其他非重点指标。
一、应用环境
进行桌面数据分析的用户绝大多数都不是专业程序员,他们更习惯在windows下工作,他们缺乏专业程序员拥有的配置环境的技能,因此桌面端分析程序语言的应用环境应当足够简单,应当支持windows,应当易于安装部署。
集算器和R语言这方面做得都不错,应用环境简单,直接安装即可使用;Python本身也问题不大,但经常要用到的Pandas包(加强Python计算能力)在linux下的安装较轻松,在windows下的安装却很复杂,对版本很挑剔;SSAS是微软产品,对Windows支持很好,但安装配置过程有些复杂。
二、文件处理
TXT和XLS文件是日常工作中最容易产生出来的文件格式,对这两种文件格式的支持越好,则说明分析语言越好用。
各分析语言一般都直接支持TXT,但XLS的情况复杂些,尤其是第三方模块的安装和版本兼容性。Excel和SSAS都是微软产品,因此SSAS可以无缝支持XLS。集算器、SPSS、SAS也不需要安装第三方包,可以直接访问XLS。Pandas的情况有点特殊,Pandas直接支持XLS,但Pandas本身就是第三方库函数,另外Pandas对某些版本的XLS支持不好。R需要安装第三方库函数和Perl运行环境,而R、第三方库函数、Perl,这三者的版本要匹配才行,安装过程很麻烦。
读写操作方面,SSAS最易用,Pandas和R提供的参数较丰富。
文件处理还要考虑对大文件的支持,比如边读边处理的能力。这方面集算器最擅长,代码也最简练。
三、文本和字符串处理
原始数据有时不够规整,经常是半结构化或非结构化的,这时就需要对数据进行前期处理,从而形成易于使用的结构化数据,因此文本和字符串处理能力也是分析语言的考察重点。
Python在这方面最擅长,R也不错,集算器稍次,SSAS最不擅长。
四、结构化数据处理
在桌面端分析的数据事实上大多是结构化数据,因此结构化计算是桌面数据分析中最常见的计算形式,结构化计算能力也是桌面端数据分析程序语言的核心能力。
集算器的设计目标就是结构化数据计算,因此在这方面最专业。R新加了数据框这种数据类型,但仍不够专业,特别在有序计算方面要弱于集算器。Pandas的数据框仿照R并做了优化,能力和R不相上下但会更好理解一些。相比之下,SPSS、SAS、SSAS,这三种工具的结构化计算能力偏弱。
有序计算是指同期比、比上期、相对区间取数、分组中的排名、分组中取前后几名等算法。有序计算经常涉及到相对位置和跨行组,是桌面端数据分析中的典型问题。集算器天生具有序号,在有序计算方面表现最好。Python、R在这方面也很强,但它们以向量为基本元素,而不是记录,因此代码比较难懂,更适合科学家使用。
五、模型预测算法
模型和预测主要用于科学领域,虽然在桌面端数据分析中不多见,但仍然是不可或缺的一项指标。
R在这方面拥有最新和最丰富而且最成熟的第三方算法,SASS要简单易用但不够灵活,Python/Pandas一直在追赶模仿R,语法更易理解但成熟度还有差距,SAS和SPSS更为权威。相比之下,集算器几乎没有现成的模型预测算法。
六、其他非重点指标
还有些非重点的指标在特定情况下也会被关注,比如对数据库的支持,绘图能力,对并行计算的支持。
SASS对数据库支持最好,但不擅长文本文件、数据库、自定义数据之间的混合计算。集算器对数据库的支持也不错,对异构数据源之间也支持良好。Pandas、R、SAS、SPSS对数据库的支持一般,对异构数据源支持也不够好。
SASS在绘图方面最美观,但灵活性不足。R、集算器、Pandas的灵活性足够强,内置的统计图也很多。
并行计算方面,集算器内置并行计算引擎,配置方便,容易开发。R要通过第三方软件才能支持并行计算,而且配置复杂,开发困难。
版权声明:本文为博主原创文章,未经博主允许不得转载。