r语言编程的步骤

Python023

r语言编程的步骤,第1张

r语言编程的步骤?R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。

工具原料一台电脑下载完毕的R software

方法/步骤分步阅读

1

/5

安装完毕R语言,新建属于自己的R变成文件夹,然后 File ->Change Dir..,设置成自己的工作文件,自己工作空间将都会产生在这个文件夹下。

2

/5

然后Files - >New Script,打开新的脚本编辑,在这里键入自己代码,编辑。

在此模式下,摁F5键意味着执行这一行,当我们编辑很多行的时候,我们可以进行全选,然后摁下F5,这样就会执行所有行的代码。

3

/5

下面进行实战,我们下面将会用R语言画出一个简单房子,具体的代码含义不解释,推荐Manning出版的《R语言实战》,里面有大量的联系及讲解。

4

/5

选中,然后执行F5按键,R语言就会画出一个简单的房子,具体代码可以参见下图。

5

/5

总之,R语言是一个非常好的统计软件,在生物统计,金融统计中发挥着越来越多的作用,同时R语言作为一款开源软件,也被世界的R语言兴趣者优化着。

注意事项

R作为一款免费的软件,有时候即使编正确的情况下,仍然可能出现错误

软件的学习在于多联系

内容仅供参考并受版权保护

R 语言,一种自由软件编程语言与操作环境,主要用于统计分析、绘图、数据挖掘。R 本来是由来自新西兰奥克兰大学的罗斯·伊哈卡和罗伯特·杰特曼开发,现在由“R 开发核心团队”负责开发。R 基于 S 语言的一个 GNU 计划项目,所以也可以当作 S 语言的一种实现,通常用 S 语言编写的代码都可以不作修改的在 R 环境下运行。

R 语言

R 的源代码可自由下载使用,亦有已编译的可执行文件版本可以下载,可在多种平台下运行,包括 UNIX(也包括 FreeBSD 和 Linux)、Windows 和 MacOS。R 主要是以命令行操作,同时有人开发了几种图形用户界面,其中 RStudio 是最为广泛使用的集成开发环境。

功能

R 内置多种统计学及数字分析功能。R 的功能也可以透过安装包(Packages,用户撰写的功能)增强。因为 S 的血缘,R 比其他统计学或数学专用的编程语言有更强的面向对象(面向对象程序设计, S3, S4 等)功能。

R 的另一强项是绘图功能,制图具有印刷的素质,也可加入数学符号。

虽然 R 主要用于统计分析或者开发统计相关的软件,但也有人用作矩阵计算。其分析速度可媲美专用于矩阵计算的自由软件 GNU Octave 和商业软件 MATLAB。

总的概括:R主要在学术界流行,python(numpy scipy)在工程方便比较实用。

R是S(Splus)的开源版本,或者下一代。发源地在新西兰奥克兰。这个软件的统计背景很浓烈。我这里浓烈的意思是,如果你不熟习统计知识(历史)的话,R的帮助文档看起来是很累的。由统计背景的人开发。R的维护组叫CRAN-R。在生物信息方便,有个叫bioconductor的组织,里面有很多生物信息方面可以用的软件包,他们有一套自己维护package系统。

Python是个综合语言(这里特指指CPython解释器),numpy scipy是数值计算的扩展包,pandas是主要用来做数据处理(numpy依赖),sympy做符号计算(类似mathematica?)此外还有一些不太成熟的包如sciki learn,statistical models。成熟度不如R。但是已经到了可用的水平了。是读计算机的人写的统计包。ipython 更新到1.0以后,功能基本完善,其notebook非常强大(感觉就像mathematica)而且还是基于web,在合作分享方面非常好用。

性能:

大家都说R慢,特别是CS的人。其实这里主要是两点:一个R里面数组的调用都是用复制的,二是Rscript慢。三是处理大数据慢。如果R用的好的话,R是不太慢的。具体来说就是Rscript用的少,多用命令,跑点小数据。这样的话,实际在跑的都是背后的fortran和C库。他们都有快二三十年历史了。可谓异常可靠,优化得不能再优化了(指单线程,如果去看源代码挥发先许多莫名的常数,永用了以后精度高速度快!)。比如一个自己编写一个R脚本,loop套loop的那种,那真是想死的心都会有。外加一点,R处理文本文件很慢!

Python归根揭底还是个有解释器的脚本语言,而且有致命伤——GIL,但python最难能可贵的就是它很容易变得更快。比如pypy,cython,或者直接ctypes挂C库。纯python写个原型,然后就开是不断的profiling和加速吧。很轻易可以达到和C一个数量级的速度,但是写程序、调试的时间少了很多。

并行计算:

R v15 之后有了自带的parallel包,用挺轻松的。不过其实就是不停的fork,或者mpi,内存消耗挺厉害的。parSapply,parApply什么的,真是很好用。

Python虽然有GIL——并行计算的死敌,但是有multiprocessing(fork依赖) ,是可以共享数据的什么的,估计内存消耗方面比R好点,数据零散的话overhead很多。到了MPI的话,mpi4py还是挺好用的。用cython的话结合openmp可以打破GIL,但是过程中不能调用python的对象。

学习曲线:假设什么编程都不会的同学。

R一开始还是很容易上手的,查到基本的命令,包,直接print一下就有结果了。但是如果要自己写算法、优化性能的时候,学习难度陡增。

Python么,挺好学的,绝大多数的帮助文档都比R好了许多。有些包用起来没R方便。总的来说深入吼R陡。

扩展资源:

基本上新的统计方法都会有R的package,安装实用都不麻烦。但是基本上都是搞统计的人写的计算机包。所以效能上可能有问好。比较出名的有两个包的管理网站,cran-r 和bioconductor。 所以搞生化的估计R用起来很方便。

python的统计计算包们比R少,多很年轻,还在不断的开发中。优于是计算机人写的统计包,用起来的时候要多涨个心眼。

画图:

R自带的那些工具就挺好用了,然后还有ggplot这种非常优美的得力工具。

python 有matplotlib,画出来效果感觉比R自带的好一些些,而且界面基于QT,跨平台支持。可能是R用得多了,pyplot用起来还是不太顺手,觉得其各个组建的统一性不高。

IDE:

Rstudio非常不错,提供类matlab环境。(用过vim-r-plugin,用过emacs + ess现在用vim。)

windows 下有python(x,y) 还有许多商业的工具。(本人现在的emacs环境还不是很顺手~)

建议:

如果只是处理(小)数据的,用R。结果更可靠,速度可以接受,上手方便,多有现成的命令、程序可以用。

要自己搞个算法、处理大数据、计算量大的,用python。开发效率高,一切尽在掌握。

ps:盲目地用R的包比盲目的地用python的包要更安全。起码R会把你指向一篇论文,而python只是指向一堆代码。R出问题了还有论文作者、审稿人陪葬。