R 运算符优先级和结合性

运算符优先级

当一个表达式中使用多个运算符时,我们需要知道这些运算符的优先级,才能确定执行操作的顺序。

优先级定义了执行顺序,即哪个运算符的优先级更高。


示例 1: R 中的运算符优先级

> 2 + 6 * 5
[1] 32

在这里,* 运算符的优先级高于 +,因此 2 + 6 * 5 被解释为 2 + (6 * 5)。可以使用括号 () 来改变这种顺序。

> (2 + 6) * 5
[1] 40

运算符结合性

在一个表达式中可能包含多个具有相同优先级的运算符。在这种情况下,执行顺序由结合性决定。

运算符的结合性在上面的表格中给出。

我们可以看到,大多数运算符的结合性是从左到右。


示例 2: R 中的运算符结合性

> 3 / 4 / 5
[1] 0.15

在上面的示例中,由于 / 运算符的从左到右结合性,3 / 4 / 5 被评估为 (3 / 4) / 5。但是,使用括号 () 也可以改变这种顺序。

> 3 / (4 / 5)
[1] 3.75

R 中不同运算符的优先级和结合性(从高到低)

R 中的运算符优先级
运算符 描述 结合性
^ 从右到左
-x, +x 一元负号,一元正号 从左到右
%% 从左到右
*, / 乘法,除法 从左到右
+, - 加法,减法 从左到右
<, >, <=, >=, ==, != 比较 从左到右
! 逻辑非 从左到右
&, && 逻辑与 从左到右
|, || 逻辑或 从左到右
->, ->> 右向赋值 从左到右
<-, <<- 左向赋值 从右到左
= 左向赋值 从右到左

 

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战