大数据文摘出品
编译:邬亮
有些业界从业人士对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/
【本文是51CTO专栏机构大数据文摘的原创译文,微信公众号“大数据文摘( id: BigDataDigest)”】
戳这里,看该作者更多好文
【编辑推荐】
中国移动研究院常耀斌:商用大数据平台的研发之路
人人都说大数据,那你知道它的核心价值吗?
大部分业务代码,都在处理数据!所以,高效很重要!!
数据科学的下一个「超能力」:模型可解释性
数据安全三部曲:存储、传输与使用