生命的追求分享 http://blog.sciencenet.cn/u/lry198010 追求生命的卓越,以达人生的卓越

博文

我想象中的理想统计分析工具

已有 7194 次阅读 2011-3-17 10:47 |个人分类:生物信息|系统分类:科研笔记|关键词:学者| 统计, 软件

从大学3年级做毕业课题开始,一直到现在,本人了大概有10年的数据分析经历了。在数据分析中的过程中,总是备受煎熬,在选择哪个分析工具的时候,总是觉得有不完善的地方,于是在不停的纠结中。也在不停的思考中,总是梦想着能有一个能满足我所有要求的分析软件。我想象中的理想分析软件应该:
(1)有丰富的统计分析功能,这样才能完成多样的分析过程
(2)优良的数据展现功能,这样才能更好的探索数据,发现隐藏在数据中的现象和规律,特别是多元海量数据的情况下
(3)有基于鼠标操作的数据的功能,也要有基于命令行的良好支持。基于命令行的数据处理方式是大规模数据处理的唯一可行方式,这一处理方式,未处理前数据可以存储在硬盘里,当要处理或查看数据时,再从硬盘读入进行处理,这样就减少了对内存的需求。
(4)良好的扩展能力,丰富简单的分析软件开发和集成功能。

基于这样的标准,先来看看Excel、R、matlab和SAS以及Perl、Python等工具和程序。

Excel,这一微软公司的王牌电子表格产品,已经占据市场的头把交椅10多年时间,在众多的同类软件中自有其不可替代的优点。通常来说,Excel最大的优点就是:使用广泛,只要有window系统的,基本上都会有excel,入手容易,数据展示操作简单。从我的观点来看:
 (1)其基于鼠标操作数据的功能非常优异,各种筛选工具为数据的筛选提供的非常大的便利,在加上功能丰富的各种函数和实时计算方式,决定了Excel在数据的整理和归类无可辩驳的操作便捷性。在处理模式上,因其需要把所有数据都读入内存,受内存和其处理极限的制约,其不适合用于整理和处理大规模数据。没有基于命令行的数据处理方式,虽然其函数和宏可以解决部分问题,但在使用的方便性和功能的丰富性上,与R和SAS等工具相比,依旧有着巨大的不足。
(2)作为数据分析工具,其最大的诟病之一就是,Excel中统计功能的极度缺乏。Excel中连最常用的统计分析方法都不全,即使在提供的统计分析方法里,有很多也被专家确认为存在各种缺陷。
(3)在数据的展现上,Excel提供的功能虽然不多,基本可以满足一般的要求,但离专业水平还是太远。
(4)在扩展能力上,Excel非常的强大,特别是升级到2010版本以后。作为微软的拳头产品之一,Excel通过VBA,DLL的扩展方式,为开发Excel扩展提供了强大的集成功能,而在.net开发工具里提供的VSTO套件,则为开发Excel扩展和插件提供的企业级的解决方案。其最近的,在微软的MBF(http://mbf.codeplex.com/documentation)项目中,就有以Excel为平台的生物信息分析工具(http://bioexcel.codeplex.com/)。但因为在微软开发平台上开发开源统计工具的项目和人员相对较少,所有在可用的统计分析开发工具库中,能获得的开发支持很小。希望以后这一方面能得到改进吧。

R语言,我的最爱之一。其给出的与perl、C的语言不一般用户界面和交互方式,以及对向量、矩阵的整体操作方式,为数据的分析提供了很大的便利,同时也为开发新的统计方法提供了便利。就喜欢这种把向量和矩阵作为一个操作数的计算方式。总的来说R有以下优点:
(1)免费,并且含有极其庞大的统计分析函数库,基本上我们在文献上能查到的基本统计方法就可以找到相应的package。这真是太伟大了。这是excel所不能比拟的。
(2)数据展现功能优秀,但不够方便。虽然其提供了很多用于数据展示的函数,包括底层函数以及其他第三方开发的包,但对数据的展示依旧不大方便。我想一个最大的原因可能就是对数据的操作不能像Excel那样方便,在excel中,要操作数据,只需要通过鼠标基本上就可以完成所有的操作。
(3)在数据的操作上。各种功能强大的数据操作函数,交互式的命令行数据操作方式,对大规模的数据操作提供了最大的方便,有非常大的灵活性。但数据操作不够直观,多样的数据类型为数据的计算和分析提供的便利,但也增加了数据的操作复杂性。不像EXCEL,什么东西都可以看作一个m x n的方阵,简单的数据类型简化了数据操作,却也缺失了灵活性。数据录入非常糟糕,不过这似乎是电子表格EXCEL等的专利哦!
(4)在扩展能力上。R本身也是一种脚本语言,因此用R来编写程序,实现任何功能。此外,R也提供了调用和编译C,C++等程序的接口,因此,任何C和C++等实现的算法和工具都能在R中调用,而且有非常高的稳健性。从这点上来说,与excel、matlab等不相上。
综合来说,R在统计上非常强大,但需要转变数据处理的操作的方式,适应其基于交互式命令的处理方式,在学习上有比较高的曲线。不适合用于数据的录入工具。数据录入,还是找EXCEL等电子表格工具吧!

matlab,本人觉得是一个很牛的数据分析工具,不过其优点在数值和符号计算。但考虑到其提供的向量和矩阵等线型代数计算软件包,在其上开发统计软件包也是非常easy的。在matlab,进行统计分析的有一个专门的统计分析软件包,使用统计软件功能,需要购买这个统计软件包,就像SAS一样。在数据分析上,其操作方式与R基本一致:
(1)在科学数据分析中使用广泛,提供了非常丰富的统计分析函数和方法,一旦购买了matlab核心和统计分析包,那么有其他学者和机构开发的matlab统计分析包,也基本能使用。但在是使用上,本人还是R自由方便啊!
(2)同R一样,数据展示功能优秀,甚至比R还要优秀很多。有各种图形功能函数,但基本都是通过命令行实现的,所以....
(3)数据操作和模拟上,本人觉得其提供的功能似乎比R多,但唯一遗憾的是,如果涉及的函数方法到除核心和统计软件包外,还有其他包,只好提供钱了。基于命令行的分析数据操作和展示方式,可以非常方便的处理大规模数据。
(4)扩展功能,非常优秀。matlab本身也是一种脚本,加上其本身拥有的数值计算和符合运算功能、无比丰富的函数库,以及与C等编程语言的的无缝接口,可以开发任何大规模、高计算量的分析方法。
综合来说,matlab在统计上非常优秀,在统计分析上,与R有相互替代的功能,但在数据挖掘上,matlab更有优势一些。


https://m.sciencenet.cn/blog-43321-423333.html

上一篇:我感到透心凉-集体户口,不能结婚,结婚了也不能合法生小孩
下一篇:我为博士课程考试学的新一代测序技术总结!

2 高建国 霍天满

发表评论 评论 (3 个评论)

数据加载中...
扫一扫,分享此博文

全部作者的精选博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-23 11:55

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部