R語言有多強大?十個你不知道的功能

大資料文摘發表於2019-03-29

R語言有多強大?十個你不知道的功能

大資料文摘出品

編譯:鄔亮

有些業界從業人士對R語言的價值並不認可,他們認為R語言只針對統計分析。

R語言的確提供了很全面的統計分析的軟體包,比如CRAN,Bioconductor,Neuroconductor,以及ROpenSci;並且提供了優秀的包管理功能。

但在與計算機領域朋友的溝通中,R語言其實已經成長為一種多功能的程式語言,它的功能遠不限於資料分析而已。但是,R語言的很多優秀特性並不為R語言社群以外的人所熟知。

在本文中,我將給大家介紹那些不為人知,卻又好用到難以置信的R語言功能。

1.R的標記語言可以製作可重複生成的Word和Powerpoint文件

R語言中的rmarkdown包可以製作可重複生成的Word文件和Powerpoint幻燈片,而這隻需要改變一行YAML的程式碼。

2.組建和執行一個可互動的網路應用只需要幾行程式碼

幾行R程式碼就可以生成一個可互動的網路應用。比方說如果使用R語言的flexdashboard包, 你只需要36行程式碼,就可以生成一個可互動的動態報表,來探索你的BMI指數與全國健康營養檢查樣本結果的關聯。

3.幾行甚至一行R程式碼就可以支援網路應用的執行

另外一個很酷的功能是,透過rsconnect包,R語言還可以僅用一兩行程式碼就支援網路應用的執行。這些應用既可以透過自己的伺服器來支援,也可以用shinyapps.io這種雲伺服器。

4.透過使用R語言的dplyr/dbplyr,幾乎各種資料庫都可以連線

使用dbplyr包,用R語言連線各種資料庫,無論是本地的還是遠端的,都非常方便。這個功能使R語言使用者可以不用擔心底層的資料庫,而獨立地從主流資料庫中抽取資料。R語言的bigrquery包還可以直接利用BigQuery和其他大規模資料儲存。

5.本地或多個不同的資料儲存,在R語言裡可以利用相同的dblyr語法來操作

當你學會如何利用dplyr來轉換資料,本地和遠端的資料庫、資料儲存都可以利用相同的程式碼來操作。這個功能簡化了也統一化了操作多個資料庫和資料語言的過程。

6.你可以用Keras和Tensorflow訓練深度學習模型

使用keras包或TensorFlow介面,你可以利用R語言來學習預訓練或者開發全新的深度學習模型。

7.R語言可以編寫和支援應用程式介面(API)

Plumbr包可以把R函式直接轉換成網路應用介面(API),並能很方便的整合到下游應用中去。如果你還安裝有Rstuodio Connect,這些函式可以像網路應用一樣輕鬆地被部署。

8.你可以使用R語言來生成電子遊戲的介面

不僅是網路應用,R語言甚至可以生成電子遊戲的介面。nessy 包可以幫助你生成並部署NES風格的Shiny應用。

9.你可以直接透過R語言呼叫Spark叢集來分析資料

你想用大規模資料訓練又大又複雜的機器學習模型麼?R語言的sparklyr包幫助你在單機或者大型的Spark叢集上直接完成這項任務。

10.你可以在R語言中以互動的方式學習R

R語言的swirl包可以用來生成可互動的R語言學習教程。

本文介紹了十個R語言中的功能,這些當然不是R語言全部的優秀特徵。比如你還可以連線到AWS Polly來生成語音合成軟體,或者用R語言生成能夠回應語音命令的Shiny應用,甚至編寫深度學習的軟體來利用加速度資料去判斷哈利波特的法術。R語言已經不單單是一門只能用來做資料分析的程式語言(雖然它在這方面超強!),對R語言的掌握能夠為你開啟一扇開發實用和好玩應用的大門。

相關報導:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31562039/viewspace-2639778/,如需轉載,請註明出處,否則將追究法律責任。

相關文章