Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

邬亮编译

R语言有多强大?十个你不知道的功能

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

大数据文摘
大数据文摘

秉承“普及数据思维,传播数据文化,助⼒产业发展”的企业⽂化,我们专注于数据领域的资讯、案例、技术,形成了“媒体+教育+⼈才服务”的良性⽣态,致⼒于打造精准数据科学社区。

工程R语言
4
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

数据分析技术

数据分析是一类统计方法,其主要特点是多维性和描述性。有些几何方法有助于揭示不同的数据之间存在的关系,并绘制出统计信息图,以更简洁的解释这些数据中包含的主要信息。其他一些用于收集数据,以便弄清哪些是同质的,从而更好地了解数据。 数据分析可以处理大量数据,并确定这些数据最有用的部分。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

语音合成技术

语音合成,又称文语转换(Text to Speech)技术,是将人类语音用人工的方式所产生,能将任意文字信息实时转化为标准流畅的语音朗读出来,相当于给机器装上了人工嘴巴。它涉及声学、语言学、数字信号处理、计算机科学等多个学科技术,是信息处理领域的一项前沿技术,解决的主要问题就是如何将文字信息转化为可听的声音信息,也即让机器像人一样开口说话。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

流数据技术

流数据是一组顺序、大量、快速、连续到达的数据序列,一般情况下,数据流可被视为一个随时间延续而无限增长的动态数据集合。应用于网络监控、传感器网络、航空航天、气象测控和金融服务等领域。

推荐文章
暂无评论
暂无评论~