个人认为,与其说R语言是一门计算机语言,不如说R语言是一项高度定制化的编程工具。在编程方面,R语言几乎可以吊打任何其他计算机语言,但又总是和其他计算机语言格格不入。比如说包括Python在内的多种计算机语言的第一个元素的偏移量都是0,而R语言第一个元素的偏移量就是1。再比如Python的基本数据类型包括Numbers(数字)、String(字符串)、List(列表)、Tuple(元组)、Sets(集合)、Dictionaries(字典),而R语言的基本数据类型则为向量、列表、矩阵、因子、数据框、数组。怎么样?R语言是不是一开始就给人一种专门用于数据处理的感觉?有相关书籍认为向量是R语言最小数值单位,而单个的整型数、浮点数、字符串可以认为是长度为1的向量。

R语言的使用习惯和Python有很大区别。这一篇文章将实时更新R语言与Python在使用习惯中的不同。

一、缩进

相比Python用缩进来表示某一组语法,R语言用{}来圈起来某组语法。缩进对于Python来说是必不可少的,而R语言对缩进没那么多的要求;

二、切片

Python的切片[2:]等同于[2:len(被切片对象)],意为从被切片对象的第三个元素到最后一个元素;R语言不允许[2:]这样的表达方法,仅允许[2,length(被切片对象)]这样的表达方法,意为从被切片对象的第二个元素到最后一个元素。

三、判断和循环

R语言的for和if等后面跟随的被判断语句要用()框起来。