第2章 向量
R语言最基本的数据类型是向量(vector)。第1章已经给出了向量的一些例子,本章将详细介绍向量。首先考察向量与R语言的其他数据类型之间的关系。与C语言家族不同,R语言中,单个数值(标量)没有单独的数据类型,它只不过是向量的一种特例。而另一方面,R语言中矩阵是向量的一种特例,这一点与C语言家族相同。
接下来我们会用大量时间关注以下话题:
循环补齐:在一定情况下自动延长向量。
筛选:提取向量子集。
向量化:对向量的每一个元素应用函数。
这些运算是R编程的核心,在本书的其他部分也会经常提到它们。
2.1 标量、向量、数组与矩阵
在许多编程语言中,向量与标量(即单个数值)不同。例如,考虑下面的C代码:
这段代码请求编译器给一个x的整型变量x分配空间,并给一个名为y的三元素整型数组(C语言中的术语,类似于R中的向量)分配内存空间。但在R中,数字实际上被当做一元向量,因为数据类型里没有标量。
R语言中变量类型称为模式(mode)。回顾第1章,同一向量中的所有元素必须是相同的模式,可以是整型、数值型(浮点数)、字符型(字符串)、逻辑型(布尔逻辑)、复数型等等。如果在程序中查看变量x的类型,可以调用函数typeof(x)进行查询。
不同于ALGOL家族的编程语言(比如C和Python)中的向量索引,R中向量索引从1开始。
【责任编辑:book TEL:(010)68476606】
点赞 0