ecea4bb2eeaffa9f36704e803f740380.png

大数据文摘出品

编译:邬亮

有些业界从业人士对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/

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐