1.6 运算符

在R语言中,有许多运算符,主要有算术运算符、关系运算符、逻辑运算符、赋值运算符。除了这四类运算符外,还有一些其他的运算符,本节将重点介绍这四类运算符,其他的运算符在后面使用时再详细介绍。

1.6.1 算术运算符

R语言中的算术运算模拟了各种数学操作,如加法、减法、乘法、除法和取模(余数),在操作数之间使用指定的运算符,这些操作数可以是标量值、复数或向量。具体说明如表1-3所示。

表1-3 算术运算符

算术运算示例代码如下。

上述代码很简单,这里不再解释,其运行结果如下。

提示

上述代码中使用了paste()函数,它可以将多个字符型(字符串)或其他类型的对象组合成一个单一的字符串的函数。它允许我们将多个值连接在一起,可以指定分隔符来分隔这些值。

1.6.2 关系运算符

关系运算是比较两个表达式大小关系的运算,它的结果是逻辑型数据,即TRUE或FALSE。关系运算符有6种:==、!=、>、<、>=和<=,具体说明如表1-4所示。

表1-4 关系运算符

续表

关系运算符示例代码如下。

上述代码很简单,这里不再解释,其运行结果如下。

提示

上述代码中使用了cat()函数,它与paste()函数的区别如下。

paste()函数主要用于将多个文本或对象连接成一个字符串,然后返回一个新的字符串,而不是直接将文本输出到控制台。我们可以使用sep参数来指定连接文本之间的分隔符。

cat()函数主要用于将文本输出到控制台,而不是返回一个新的字符串。它通常用于在R语言中打印信息、结果或变量的值。我们可以使用sep参数来指定在输出文本之间的分隔符,但它的主要目的是输出文本而不是创建一个新的字符串。

1.6.3 逻辑运算符

在R语言中,逻辑运算符用于执行逻辑操作,通常用于比较值、组合条件和进行逻辑运算。以下是R语言中常见的逻辑运算符,具体说明如表1-5所示。

表1-5 逻辑运算符

提示

短路逻辑与(&&)和短路逻辑或(||)能够采用最优化的计算方式,从而提高效率。在实际编程时,应该优先考虑使用短路逻辑运算符。

逻辑运算符示例代码如下。

上述示例代码解释如下。

为了测试,我们在代码第①行和第②行定义了两个函数,有关函数的具体概念我们将在第4章再详细介绍,这里不再赘述。

代码第③行的if语句中使用的是短路逻辑或(||)运算符,因为f1()调用结果为TRUE,所以后面的f2()不会被调用。

代码第④行的if语句中使用的是短路逻辑与(&&)运算符,因为a < b结果为FALSE,所以后面的f2()不会被调用。

上述示例代码运行结果如下。

读者可以将短路逻辑或(||)修改为逻辑或(|),以及将短路逻辑与(&&)修改为逻辑与(&)测试一下,结果如下。

1.6.4 赋值运算符

R语言中的赋值运算符用于为R语言中的各种数据对象赋值。对象可以是整数、向量或函数。然后,这些值将通过分配的变量名称进行存储。赋值运算符主要有两种:<-和=。这两个运算符在R语言中是等效的。

赋值运算符示例代码如下。

除了上述两种赋值运算符外,还有其他一些赋值运算符,我们在使用它们的时候再介绍。