每日最新頭條.有趣資訊

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語言的掌握能夠為你打開一扇開發實用和好玩應用的大門。

相關報導:

https://simplystatistics.org/2019/03/13/10-things-r-can-do-that-might-surprise-you/

志願者介紹

獲得更多的PTT最新消息
按讚加入粉絲團