python和R在生信脚本编写中使用的频率是最高的,经常会把两者的脚本利用Perl/Shell 串联起来,进行Pipline的编写。
区别:
从定位角度看,
R 致力于提供更好的,对用户友好的数据分析、统计分析和绘图模型;
Python 则强调生产效率和代码的可读性。
应用领域:
R 主要用于学术和研究领域;
Python 更倾向于工程领域,机器学习,人工智能方面的模块非常友好,而且也便于项目落地。
语法:
R 没有代码缩进的要求,可以用多种方法实现同一功能,但是无强制缩进会导致编写代码过于随意,影响可读性,以及优化效率。
python 是一种强缩进的语言,使得代码更加优美,可读性好,但是在编写脚本中,可能会因为缩进的原因报错。
易学性:
R和python都比较容易上手,但是相对而言,对于有编程基础的程序员,R的学习会非常简单。
缺点
R运行慢,而这一点是故意为之。R的设计目的是使数据分析和统计分析变得容易,而不是为了让你的电脑“活得更轻松”。它有一个不完整的非正式定义,主要通过实现工作的方式来定义。除了设计和实现,大量R代码慢的原因很简单——代码写的很差。为改善这一点,可使用提高R性能的程序包:pqR(R翻译器的一个新版本)、renjin、FastR(在Java中重新写R)、Riposte(一个很快的解析器和JIT)、RevoScaleR(用来处理大数据的商业软件)、Foreach(用来提高并行编程的商业工具)。
Python最大的问题在于其可视化,选择数据分析软件时,可视化是一个重要原则。虽然Python有一些很好的可视化程序库,包括:Seaborn(基于matplotlib的程序库)、Bokeh(交互式可视化程序库)和Pygal(建立动态可伸缩向量图形(SVG))。但Python提供的可选择程序库过多,且与R对比,在Python中进行可视化有些复杂,呈现的结果也并不是很令人满意。
相同点:
他们都有很丰富的包,可以帮助用户快速上手实现某一设想。
网友评论