2022/4/6 16:20:26 阅读:242 发布者:chichi77
众所周知,科研是一件费神、费力、还费钱的工作,时常会觉得,家里没点矿连“支持正版”的底气都没有。
某软件的价格���(这还是学生版)
就算是有软件,传统的统计分析软件很难做出“五彩斑斓”的图。
这样���?
这样���?
或者这样���?
隔壁的小孩儿都羡慕哭了。
那么今天,岛主就要把这个科研利器介绍给你——R
1
什么是R?
单单一句话,足以让无数科研人为之起立鼓掌!免费!且兼容各平台!
既然叫R语言,首先是一门计算机编程语言,与C、Java、Python类似,电脑上需要有一个编译该语言的环境,同时,也会有一个自带的R语言编辑器。
大概长这样——
是不是有点儿EViews那味儿了,但是,作为统计分析领域的新秀,R有一个同胞兄弟——RStudio。常言道,兄弟同心,其利断金。这两位在合体之后,迸发出了强大的生产力。
既然是兄弟,RStudio也是免费的,并且开源。有了这个编译器,R语言如虎添翼,正在数据分析、统计建模领域发挥越来越大的作用。
2
R有什么优点?
1
安装简单
尽管经过了无数次的版本迭代,R的安装包只有80M左右,RStudio的安装包大概170M,相较于大多数软件都友好很多。因为体积轻便,运行起来系统负担也小。
而且,无论是R还是RStudio的安装基本都是“傻瓜式”操作,不需要专业人士帮忙配置或者激活。
2
上手简单
不同于C、Java等程序设计语言,R不需要在使用变量前正式声明定义变量类型,更不需要计算机教育背景,大多数人都可以在短期内掌握R语言的基本语法,实现数据处理和分析的操作。
除此之外,R内置了很多数据,为初学者学习R提供了极大便利,不用为了学代码努力自己random一堆数据出来。
为了帮助R语言使用者更好地解决问题,R有自己的交流社区,还提供了详尽的cheat sheets(速查表),妈妈再也不用担心我不会写代码了。
3
向量化操作概念
也许很多人并不懂什么是向量化操作,但是都一定听说过循环。当你想要对一张巨大的表格逐一进行处理时,除了在Excel里“双击-下拉”,就得写一个循环函数,逐一去处理这些内容。
但是,在R语言里,“向量化操作”可以帮助你一步完成这些计算,运算速度在某些时候不输MATLAB。此外,在purrr包的支持下,还可以快速实现除了基本运算之外的各种操作。
4
因为开源,所以强大
庞大的软件包生态系统无疑是R语言最为突出的优势之一——如果某项统计技术已经存在,那么几乎必然存在着一款R软件包与之对应。
目前R已经存在超12000个扩展包,这个是很多数据分析软件所不具备的。这么多的扩展包也就意味着,“只有你想不到,没有它做不到”。也不需要为了一个原本不具备的功能而转战一个新的软件。(懂得都懂)
而且,R中各种包和函数的透明性极好,这使得对函数的调整和改良变得非常便利。只需要把源码调出来,稍加修改就可以为己所用。
5
绘图功能强大
有了R,再也不用做羡慕隔壁Python的小孩儿,因为Python中的ggplot2库就来自于R。有图为证���
(看了这张图,我再说什么都是多余)
6
机器学习
提到机器学习,大多数想到的第一种代码就是python了。但是,你可能没想到,Python有的R都有,Tensor flow、Keras等常见的机器学习框架在R中也有对应的包予以支持。
开源带给R的另一大好处就是,其与学术界的强大联动效应。在学术领域的任何新型研究成果可能都会马上以R软件包的形式体现出来。因此从这个角度看,R语言始终站在技术发展的尖端位置。
3
其实,R不仅仅会数据分析……
作为一个R语言多年的使用者,一直乐于开发R的多种用途。
1
R markdown
用过markdown的小伙伴都会知道,markdown有多香。用过Jupyter notebook的小伙伴也会知道,分段执行代码对于数据分析有多重要,而RStudio将这些都整合为自己的R markdown。
R Markdown 文档是完全可重现的,其使用高效的笔记本界面将叙述性文本和代码编织在一起,以生成格式优雅的输出。而且能够使用多种语言,包括 R、Python 和 SQL。
除此之外,R Markdown 支持数十种静态和动态输出格式,包括 HTML、PDF、MS Word、Beamer、HTML5 幻灯片、Tufte 风格的讲义、书籍、仪表板、闪亮的应用程序、科学文章、网站等。
这样一个以一抵十的软件,谁能不爱呢?
2
学术汇报PPT
既然提了markdown,不得不提令科研er头疼的另一个环节,学术汇报PPT。
学术汇报的PPT真的是论文完成后的另一难题,堪比论文排版。但是既然可以把论文排版交给LaTeX帮你完成,PPT制作也可以交给R来完成。
(图源网络,侵删)
有了它,你的学术汇报PPT亦可以自带滤镜 ~
好用这两个字岛主已经说累了……这么好用的R语言该从何学起?
如有侵权,请联系本站删除!