SAS/R/Python:大数据分析之三大利器

“ The more I use Python, the more I love SAS.   从 SAS 到 Python, 感觉像再婚一样:过得越久,越思念前妻! ”

大数据行业蓬勃发展,现在有很多专业的数据分析工具。 使用最多的三大软件是: SAS, R,Python.

根据2018年的一个用户调查, 1000 多家用户调查结果是:SAS 34%, R 33%, Python 32%. 基本上是三分天下的局面。但是在银行、电信、政府部门,SAS 的使用程度更高, 因为 SAS是历史最久的软件,这些行业已经长期使用 SAS,具有很大的依赖性。

从价格角度来说,SAS 是商业软件,价格很高, 一个 License 每年要超过$5000 美金。R/Python 则是开源软件。不过,可靠性和处理大数据的能力,SAS是一骑绝尘,遥遥领先。SAS 像是正规军,而 R/Pyton则是许多开源包拼拼凑凑的乌合之众。Stephanie Glen 对这三大工具做了非常全面的比较和总结,请看下表。

“Best Languages for Data Science and Statistics in One Picture” (Courtesy of Stephanie Glen).

接下来简单说说三个软件的特点。

数据处理

R is a software for statistics and mathematics. It contains a lot of scientific contents such as vectors matrix arrays etc. Python is a general programming language it’s not only for data processing. But it does have some libraries such as Pandas NumPY etc for leveraging and analyzing big data.

SAS is the one with a longest history ever since 1965. It’s specifically designed for data manipulation , processing and statistical analyses. SAS stands for Statistical Analysis System.

When processing data,R and Python use in memory processing. It means it will import and process everything in memory. The pros is that it will be fast in this way. However, if your computer memory is not large enough, it will kill your computer.

On the contrary, SAS uses hard drive as it’s temporary memory when processing big data, it is more reliable and steady though it may be slower.

Therefore each coin has 2 sides. None is perfect in the world!

学习难度

SAS is the easiest one. It’s an aggregated software, very straightforward easy to understand and convenient to use.  从学习难度来说,根据我个人经验,难度打分如下:

SAS:             4-5
SQL:             6
R/Python:   7— 8
 
简而言之,R/ Python 像是手动变速汽车,而SAS 则是自动变速,最容易学习和上手。为何这么说?
 
举一个简单例子。SAS 的数据类型只有一种,就是 data set,就是 R / Python 里面的 data frame.  View 和 Data set 几乎没什么区别,学起来没什么障碍,根本不用多花功夫。
 
而 R / Python 则数据类型有 vector/series, array, matrix, data frame, list, tuple , map, dictionary 等等。刚开始学很多人就晕头转向。 Very steep learning curve!
 
大家时间有限,如何快速上手,能够自己动手处理数据? 我建议大家循序渐进, 从容易开始。先学习 SAS 编程,等掌握之后,对数据编程有了感觉,有了基础。这时候再学习 R / Python。如果用功,2–3 星期就可学会,循序渐进,事半功倍。
 
实际上,所有的数据工具都大同小异,互相贯通,只是 syntax 不一样罢了。精通一个,再举一反三,学习下一个非常容易。

Responses

error: Content is protected !!