R语言令人意外的能做到这10件事
本文原文来自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语言会让你在其他领域有所建树,创造出实用并有意思的程序。
关注 哆嗒数学网 每天获得更多数学趣文
评论已关闭