首先, SAS和SPSS完全不推荐。
以上提到的软件, Python R是免费开源的工具, 但是MATLAB SAS SPSS三者都是商用软件, 如果你工作的公司,或者待的实验室不去购买,那么你也没法使用。
SAS目前的主要应用领域应该还是商业银行的风险管理和医药公司的生物统计。
SPSS(现在应该叫PASW)主要都被什么公司应用我就不太清楚了, 希望有人可以补充下。
以上两款软件, 虽然都是统计软件,但是在数据科学以及机器学习上, 基本很少被提及。
MATLAB本身是一款科学计算工具, 在工程领域和科学计算上表现的非常强大。 它可以开发GUI工具, 可以编译打包Excel的插件,可以画精美的图等等。 但是他有几个劣势它的基础数据结构是矩阵,而并非数据分析常用的DataFrame, 你可以理解为它对应的是Python的numpy和scipy完成的工作,而并非Pandas。 但是后来Matlab有了DataTable数据结构, 这倒是一大利好消息。
刚才说了MATLAB是商业软件, 如果你们组/实验室没人用, 没人买, 你很难自己独树一帜
本来MATLAB就不是一款专门针对数据分析的软件, 在这方面的库的丰富程度上不如Python和R。
Andrew Ng的机器学习课程,是用MATLAB讲的。 网上也有不少代码用MATLAB实现了一些机器学习的算法。 除非你在自学这方面的课程, 打算自己实现一下,不是很建议花精力学MATLAB, 主要的原因是用不上。
本质上来说, R是最适合做数据分析和数据科学的语言。 它天然的数据结构就是vector matrix data.frame等, 并且直接可以做回归、画图、做统计检验,真的做到了开箱即用。 而相比之下, Python其实不是一个专门针对数据分析的语言, 是因为有了numpy scipy pandas, scikit-learn等库才给了它这个领域的活力。 在很多情况下, R可以用比Python更短的代码来实现。
R和MATLAB因为是专门的科学软件,代码更符合公式的思维。 比如做矩阵乘法的是类似A*B, A%*%B 而并非python中的np.multiply(A, B)或者A.dot(B)之类。 但是Python作为一款流行的“程序员”用的语言, 更适合开发出健壮的程序, 当你希望代码进入production的时候, 可能会觉得Python更优秀。此外, R中的reticulate和Python中的rpy2让二者的交互变的十分方便。
作为一名数据分析师, 你除了自己要写程序分析数据之外, 你还要和其他人协作以及上网参考其他人的代码和工具。 所以非常建议在熟练使用Python的基础之上, 再熟悉一下R的操作。放心,不会花费你很多精力, 毕竟R比Python更像是一款科学工具, 它并不是很强调用户的编程功底。