本文原文來自SimplyStatistics網站
翻譯作者,獨行者,哆嗒數學網翻譯組成員。
校對:魚和酥
關注 哆嗒數學網 每天獲得更多數學趣文
過去的幾周裡,我和來自計算機方面的同行進行了一些交流,他們對R語言頗有微詞。當中的很多人都将怒火集中于R語言在統計分析上顯而易見的局限性。
的确,R語言在CRAN,Bioconductor、Neuroconductor、ROpenSci以及其他好的包管理網站都有很多非常棒的軟件包。當我進行交流的時候,我意識到R語言已經從隻能做數據分析的語言成長為一種多用途中介性語言。但是,在數據分析之外,R語言的功能則所知甚少。所以,這篇文章介紹了一些非常奇妙的R語言特點,它們可能廣為人知,也可能鮮有所聞。這裡基于Kara一篇《R語言可以做的簡單事情》推文,我列舉了十項R語言可以做但你又可能不知道的事情。
1. 你可以通過R markdown程序寫出可以再次編輯的Word和Powerpoint文檔
隻需要在YAML中修改一行代碼,rmarkdown包就可以為你生成可以再次編輯的Word和Powerpoint文檔。
2. 你可以隻用幾行代碼構建和部署交互式網絡應用
隻需要幾行代碼,你就可以用R語言來創建一個交互式網絡應用。例如,使用flexdashboard包,添加36行代碼,你就能生成一個可以研究你的BMI和NHANES樣本之間關系的交互式控制面闆。
3. 你可以隻添加一行R代碼便可實現網站應用托管
在R語言中建立網站應用的另一件很酷的事情。通過使用rsconnect包,隻需要額外添加一兩行代碼就可以将你的網頁應用編譯運行,接着你就可以把它們放在網站上。你可以把它發布到你自己的服務器上,甚至更簡單的,放到類似于Shinyapps.io的雲服務器上。
4. 你可以通過dplyr/dbplyr包來獲取數據
通過使用dbplyr包,你能夠很輕松地連接任何一個(本地或者遠程)數據庫。這允許R用戶獨立的從幾乎所有的公共數據庫裡面提取數據。你也可以使用特定的包,例如bigquery包可以直接連接BigQuery,或者其他高性能數據庫。
5. 你可以在本地或多個不同數據倉庫上的數據上使用相同的 dplyr 語句
一旦你學會基本的dplyr數據轉化規則,你就可以應用相同的代碼對你本地的數據和數據庫和數據倉庫裡的數據進行分析。及使面對各種各樣的數據庫和編程語言,dplyr包都為開發者提供了簡單又統一的數據處理方式。
6. 你可以用Keras和Tensorflow來拟合深度學習模型
Keras包允許你直接通過R來拟合之前訓練過的和重新拟合的深度學習模型。你也可以使用Tensorflow來做這兩件相同的事情。
7. 你可以用R語言構建API,并為API提供各類服務
通過plumbr包,你可以将R函數轉換成可集合到下遊軟件的web API中。如果你有RStudio Connect軟件,你也可以像發布網絡應用一樣非常方便地發布你的程序。
8. 你可以通過R語言遊戲交互界面
你不僅能夠部署網站應用,還可以用R語言把它們變成很棒的遊戲。Nessy包可以讓你創建NES遊戲的外觀的Shiny 程序并且像部署其他Shiny一樣部署它們。
9. 你可以用Spark clusters直接從R中分析數據
想要在巨大的數據集中用機器學習模型對大量、雜亂的數據進行拟合?現在,你可以使用R語言中的sparklyr包來達到你的目的。你可以在你的本地電腦上或者在巨大無比的Spark集群上使用。
10. 你可以用R語言開發一個學習R語言的互動式教學工具
swirl包是一個在R裡面的能夠為R構建交互式教程的R包。這不是一份完整的R語言包使用教程。你也可以連接上AWS Polly服務後寫出一個文字轉語音的軟件,或者編譯出Shiny應用。這些程序可以讓你的程序執行語音指令,或者編譯出能夠讓你結合深度學習和加速度測量術數據來施展哈利波特魔法咒語的應用。這裡需要強調的是,R語言已經在數據分析領域之外有了自己的一席之地(盡管R語言仍然在數據分析上非常有用),能夠熟練地運用R語言會讓你在其他領域有所建樹,創造出實用并有意思的程序。
關注 哆嗒數學網 每天獲得更多數學趣文
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!