【為什麼我們要挑選這篇文章】R 是用於統計分析的重量級程式語言,但除了統計之外, R 還有其他的軟體套件,讓它可以執行其他任務,例如深度學習、API 等等。下文為各位工程師介紹,10 個 R 少為人知的功能。(責任編輯:郭家宏)
「《科技報橘》徵才中!跟我們一起定位台灣產業創新力 >> 詳細職缺訊息
快將你的履歷自傳寄至 [email protected]」
有些業界從業人士對 R 語言的價值並不認可,他們認為 R 語言只針對統計分析。
R 語言的確提供了很全面的統計分析的軟體套件,例如 CRAN、Bioconductor、Neuroconductor,以及 ROpenSci;並且提供了優秀的套件管理功能。
但在與電腦領域朋友的溝通中,R 語言其實已經成為一種多功能的程式語言,它的功能遠不限於數據分析而已。但是,R 語言的很多優秀特性並不被 R 語言社區以外的人所熟知。
在本文中,我將給大家介紹那些不為人知,卻又好用到難以置信的 R 語言功能。
R 不只是統計軟體,它還有 10 個好用功能
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,這些函數可以像 API 一樣輕鬆地被部署。
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 語言的掌握能夠為你打開一扇開發實用和好玩應用程式的大門。
原文傳送門
(本文經 大數據文摘 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈R语言有多强大?十个你不知道的功能〉 。首圖來源:Flickr CC Licensed)
更多工程師要知道的程式技巧
Python 早就落伍了!AI 權威 LeCun 直言:深度學習需要更靈活的程式語言
GitHub 神人整理出一份 Python 開源清單:15 個領域、181 個開源項目任你用
【工程師葵花寶典】記憶體不夠怎麼辦?一條程式碼,幫你節省 50% 以上的空間