因為R語言語法簡單(類似于matlab),函數功能強大,所以很容易上手。
真正讓R無法媲美python的主要有兩個原因:
1.R的有太多的包(這點和python一樣,但是R更多)。但是R做的不好的地方是,很多packages有自己各自的邏輯,并且各不一樣,導致R的學習者不僅僅要學R本身,還有學習各個packages背后的一套邏輯,并且需要花時間精力去記住每個package里面命名各異的函數。這種情況造成了學習者在短時間內無法把從一個package里獲得的經驗和代碼流出遷移到另一個package里,經常會不斷地學習新的function,這是為什么R的學習曲線陡峭。而在工業界,比較忌諱這一點。
2.R和matlab一樣,每個package里面的函數集合了太多的功能(比python的還要集合的多)。雖然這些函數實現起來很傻瓜,但是無法滿足工業界處理大數據的需求(集合的功能太多,一方面造成不必要的資源消耗,另一方面給底層代碼優化帶來了難度,所以R和matlab的底層優化做的并不好)。因此R,在python沒有興起之前,在美國大學學術界占有統治地位。學術界所需要的data量不大,那些professor很容易用R實現自己的統計分析和可視化報告。但是在工業界,R的數據處理能力比起python就相形見絀了。
綜上所述,R和matlab偏學術研究,而python配合Go,Java,C,C++更適合能夠落地的業界項目。