2014/3/13

R 語言簡介

R語言的專案 R Project,是一個統計、繪圖整合的開發環境,他的語法跟 S-Plus S 語言類似,裡面內建適合處理大量資料點的統計分析工具。

國家高速網路與計算中心提供了完整的 R 語言教學,雖然商業界最常使用的是 SAS,但學術界最普及的是 R 與 S 語言,跨平台的 R 語言互動環境,可讓使用者 step-by-step 進行資料處理,而不像傳統的方式,得把所有統計分析程式做完,然後執行一次產生報表,nchc 的網站甚至提供了 R 雲端計算環境。

這篇文章 In data scientist survey, R is the most-used tool (other than databases) 中,資料處理技術領域 survey 中,有 71% 使用了 SQL 處理 RDB 資料,第二名就是 43% 使用了 R 語言。

資料處理首要條件,就是要把資料永續保存下來,自從1974年發展了 SQL 開始,因為關聯式資料庫數十年的經驗累積,大家根深蒂固的概念就是要把資料儲存在關聯式資料庫中,資料庫操作就是要用 SQL。

拿到了資料,也確定資料不會遺失了,接下來就是使用資料來做統計、資料分析等等,這時候就有取資料跟運算的問題,以傳統的作法當然就還是直接使用 SQL,搭配一個自己習慣的程式語言來存取資料庫,現在 R 語言提供了許多運算函數,還可以直接產生繪圖,這是另一個可快速使用的解決方案。

Apache Spark目標是要取代 Hadoop,所以一開始就聲稱,在記憶體使用比 Hadoop 快 100倍,在 Disk 使用快 10 倍,它已經從 incubator 畢業SparkR 提供 Spark R 語言的API 界面,一方面是 R 語言原本就適合處理大量資料點,另一方面,Spark 就是用來儲存大量資料的,相信透過這個方式的整合,可大幅改善大量資料統計運算領域的解決方案,這應該是 data mining 的領域吧。

以前作 paper 可能就是用 matlab 或是 gnuplot 來繪製圖形,現在有另一個選擇,就是走向 R 語言。