R 运算符

R 提供了许多运算符来执行各种数学和逻辑运算。

R 中的运算符主要可分为以下几类。

R 中的运算符类型
算术运算符
关系运算符
逻辑运算符
赋值运算符

R 算术运算符

这些运算符用于执行诸如加法和乘法之类的数学运算。以下是 R 中可用的算术运算符列表。

R 中的算术运算符
运算符 描述
+ 加法
- 减法
* 乘法
/ 除法
^
%% 模(除法的余数)
%/% 整除

运行示例

> x <- 5
> y <- 16

> x+y
[1] 21

> x-y
[1] -11

> x*y
[1] 80

> y/x
[1] 3.2

> y%/%x
[1] 3

> y%%x
[1] 1

> y^x
[1] 1048576

R 关系运算符

关系运算符用于比较值。以下是 R 中可用的关系运算符列表。

R 中的关系运算符
运算符 描述
< 小于
> 大于
<= 小于或等于
>= 大于或等于
== 等于
!= 不等于

运行示例

> x <- 5
> y <- 16

> x<y
[1] TRUE

> x>y
[1] FALSE

> x<=5
[1] TRUE

> y>=20
[1] FALSE

> y == 16
[1] TRUE

> x != 5
[1] FALSE

向量运算

上述运算符适用于 向量。上面使用的变量实际上是单元素向量。

我们可以使用函数 c()(表示连接)在 R 中创建向量。

所有运算均以逐元素方式执行。下面是一个示例。

> x <- c(2,8,3)
> y <- c(6,4,1)

> x+y
[1]  8 12  4

> x>y
[1] FALSE  TRUE  TRUE

当操作数向量的长度(元素数量)不匹配时,较短向量中的元素会以循环方式回收,以匹配较长向量的长度。

如果较长向量的长度不是较短向量的整数倍,R 将发出警告。

> x <- c(2,1,8,3)
> y <- c(9,4)

> x+y # Element of y is recycled to 9,4,9,4
[1] 11  5 17  7

> x-1 # Scalar 1 is recycled to 1,1,1,1
[1] 1 0 7 2

> x+c(1,2,3)
[1]  3  3 11  4
Warning message:
In x + c(1, 2, 3) :
 longer object length is not a multiple of shorter object length

R 逻辑运算符

逻辑运算符用于执行布尔运算,例如 ANDOR 等。

R 中的逻辑运算符
运算符 描述
! 逻辑非
& 逐元素的逻辑 AND
&& 逻辑与
| 逐元素的逻辑 OR
|| 逻辑或

运算符 &| 执行逐元素操作,产生长度与较长操作数相同的长度的结果。

但是 &&|| 只检查操作数的第一个元素,结果是单个长度的逻辑向量。

零被视为 FALSE,非零数字被视为 TRUE。运行示例。

> x <- c(TRUE,FALSE,0,6)
> y <- c(FALSE,TRUE,FALSE,TRUE)

> !x
[1] FALSE  TRUE  TRUE FALSE

> x&y
[1] FALSE FALSE FALSE  TRUE

> x&&y
[1] FALSE

> x|y
[1]  TRUE  TRUE FALSE  TRUE

> x||y
[1] TRUE

R 赋值运算符

这些运算符用于为变量赋值。

R 中的赋值运算符
运算符 描述
<-, <<-, = 左向赋值
->, ->> 右向赋值

运算符 <-= 几乎可以互换地用于在同一环境中为变量赋值。

<<- 运算符用于为父环境中的变量赋值(更像是全局赋值)。右向赋值虽然可用,但很少使用。

> x <- 5
> x
[1] 5

> x = 9
> x
[1] 9

> 10 -> x
> x
[1] 10
你觉得这篇文章有帮助吗?

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

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

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