R教程

R 运营商

运算符是一个符号,它告诉编译器执行特定的数学或逻辑操作。 R语言内置了丰富的运算符,提供了以下类型的运算符。

运算符类型

我们在 R 编程中有以下类型的运算符-
算术运算符 关系运算符 逻辑运算符 赋值运算符 杂项操作员

算术运算符

下表显示了 R 语言支持的算术运算符。运算符作用于向量的每个元素。
运算符 描述 示例
+ 添加两个向量
v <-c( 2,5.5,6)
t <-c(8, 3, 4)
print(v+t)
它产生以下结果-
[1] 10.0  8.5  10.0
从第一个向量中减去第二个向量
v <-c( 2,5.5,6)
t <-c(8, 3, 4)
print(v-t)
它产生以下结果-
[1]-6.0  2.5  2.0
* 两个向量相乘
v <-c( 2,5.5,6)
t <-c(8, 3, 4)
print(v*t)
它产生以下结果-
[1] 16.0 16.5 24.0
/ 将第一个向量与第二个向量相除
v <-c( 2,5.5,6)
t <-c(8, 3, 4)
print(v/t)
当我们执行上面的代码时,它产生以下结果-
[1] 0.250000 1.833333 1.500000
%% 将第一个向量的剩余部分与第二个向量相加
v <-c( 2,5.5,6)
t <-c(8, 3, 4)
print(v%%t)
它产生以下结果-
[1] 2.0 2.5 2.0
%/% 第一个向量与第二个(商)相除的结果
v <-c( 2,5.5,6)
t <-c(8, 3, 4)
print(v%/%t)
它产生以下结果-
[1] 0 1 1
^ 第一个向量上升到第二个向量的指数
v <-c( 2,5.5,6)
t <-c(8, 3, 4)
print(v^t)
它产生以下结果-
[1]  256.000  166.375 1296.000

关系运算符

下表显示了 R 语言支持的关系运算符。将第一个向量的每个元素与第二个向量的相应元素进行比较。比较的结果是一个布尔值。
运算符 描述 示例
> 检查第一个向量的每个元素是否大于第二个向量的对应元素。
v <-c(2,5.5,6,9)
t <-c(8,2.5,14,9)
print(v>t)
它产生以下结果-
[1] false  true false FALSE
检查第一个向量的每个元素是否小于第二个向量的对应元素。
v <-c(2,5.5,6,9)
t <-c(8,2.5,14,9)
print(v < t)
它产生以下结果-
[1]  true false  true false
== 检查第一个向量的每个元素是否等于第二个向量的对应元素。
v <-c(2,5.5,6,9)
t <-c(8,2.5,14,9)
print(v == t)
它产生以下结果-
[1] false FALSE false  true
<= 检查第一个向量的每个元素是否小于或等于第二个向量的对应元素。
v <-c(2,5.5,6,9)
t <-c(8,2.5,14,9)
print(v<=t)
它产生以下结果-
[1]  true false  true  true
>= 检查第一个向量的每个元素是否大于或等于第二个向量的对应元素。
v <-c(2,5.5,6,9)
t <-c(8,2.5,14,9)
print(v>=t)
它产生以下结果-
[1] false  true false  true
!= 检查第一个向量的每个元素是否不等于第二个向量的对应元素。
v <-c(2,5.5,6,9)
t <-c(8,2.5,14,9)
print(v!=t)
它产生以下结果-
[1]  true  true  true false

逻辑运算符

下表显示了 R 语言支持的逻辑运算符。它仅适用于逻辑、数字或复数类型的向量。所有大于 1 的数字都被视为逻辑值 TRUE。
将第一个向量的每个元素与第二个向量的相应元素进行比较。比较的结果是一个布尔值。
运算符 描述 示例
& 它被称为Element-wise Logical AND operator。它将第一个向量的每个元素与第二个向量的对应元素组合在一起,如果两个元素都为真,则给出输出为真。
v <-c(3,1,TRUE,2+3i)
t <-c(4,1,FALSE,2+3i)
print(v&t)
它产生以下结果-
[1]  true  true false  true
| 它被称为Element-wise Logical OR operator。它将第一个向量的每个元素与第二个向量的相应元素组合在一起,如果元素为真,则输出为真。
v <-c(3,0,TRUE,2+2i)
t <-c(4,0,FALSE,2+3i)
print(v|t)
它产生以下结果-
[1]  true false  true  true
称为逻辑非运算符。取向量的每个元素并给出相反的逻辑值。
v <-c(3,0,TRUE,2+2i)
print(!v)
它产生以下结果-
[1] false  true false FALSE
逻辑运算符 && 和 ||只考虑向量的第一个元素并给出单个元素的向量作为输出。
运算符 描述 示例
&& 称为逻辑与运算符。取两个向量的第一个元素,仅当两者都为 TRUE 时才给出 TRUE。
v <-c( 2,5.5,6)
t <-c(8, 3, 4)
print(v+t)
它产生以下结果-
[1] 10.0  8.5  10.0
从第一个向量中减去第二个向量
v <-c( 2,5.5,6)
t <-c(8, 3, 4)
print(v-t)
它产生以下结果-
[1]-6.0  2.5  2.0
* 两个向量相乘
v <-c( 2,5.5,6)
t <-c(8, 3, 4)
print(v*t)
它产生以下结果-
[1] 16.0 16.5 24.0
/ 将第一个向量与第二个向量相除
v <-c( 2,5.5,6)
t <-c(8, 3, 4)
print(v/t)
当我们执行上面的代码时,它产生以下结果-
[1] 0.250000 1.833333 1.500000
%% 将第一个向量的剩余部分与第二个向量相加
v <-c( 2,5.5,6)
t <-c(8, 3, 4)
print(v%%t)
它产生以下结果-
[1] 2.0 2.5 2.0
%/% 第一个向量与第二个(商)相除的结果
v <-c( 2,5.5,6)
t <-c(8, 3, 4)
print(v%/%t)
它产生以下结果-
[1] 0 1 1
^ 第一个向量上升到第二个向量的指数
v <-c( 2,5.5,6)
t <-c(8, 3, 4)
print(v^t)
它产生以下结果-
[1]  256.000  166.375 1296.000

关系运算符

下表显示了 R 语言支持的关系运算符。将第一个向量的每个元素与第二个向量的相应元素进行比较。比较的结果是一个布尔值。
运算符 描述 示例
> 检查第一个向量的每个元素是否大于第二个向量的对应元素。
v <-c(2,5.5,6,9)
t <-c(8,2.5,14,9)
print(v>t)
它产生以下结果-
[1] false  true false FALSE
检查第一个向量的每个元素是否小于第二个向量的对应元素。
v <-c(2,5.5,6,9)
t <-c(8,2.5,14,9)
print(v < t)
它产生以下结果-
[1]  true false  true false
== 检查第一个向量的每个元素是否等于第二个向量的对应元素。
v <-c(2,5.5,6,9)
t <-c(8,2.5,14,9)
print(v == t)
它产生以下结果-
[1] false FALSE false  true
<= 检查第一个向量的每个元素是否小于或等于第二个向量的对应元素。
v <-c(2,5.5,6,9)
t <-c(8,2.5,14,9)
print(v<=t)
它产生以下结果-
[1]  true false  true  true
>= 检查第一个向量的每个元素是否大于或等于第二个向量的对应元素。
v <-c(2,5.5,6,9)
t <-c(8,2.5,14,9)
print(v>=t)
它产生以下结果-
[1] false  true false  true
!= 检查第一个向量的每个元素是否不等于第二个向量的对应元素。
v <-c(2,5.5,6,9)
t <-c(8,2.5,14,9)
print(v!=t)
它产生以下结果-
[1]  true  true  true false

逻辑运算符

下表显示了 R 语言支持的逻辑运算符。它仅适用于逻辑、数字或复数类型的向量。所有大于 1 的数字都被视为逻辑值 TRUE。
将第一个向量的每个元素与第二个向量的相应元素进行比较。比较的结果是一个布尔值。
运算符 描述 示例
& 它被称为Element-wise Logical AND operator。它将第一个向量的每个元素与第二个向量的对应元素组合在一起,如果两个元素都为真,则给出输出为真。
v <-c(3,1,TRUE,2+3i)
t <-c(4,1,FALSE,2+3i)
print(v&t)
它产生以下结果-
[1]  true  true false  true
| 它被称为Element-wise Logical OR operator。它将第一个向量的每个元素与第二个向量的相应元素组合在一起,如果元素为真,则输出为真。
v <-c(3,0,TRUE,2+2i)
t <-c(4,0,FALSE,2+3i)
print(v|t)
它产生以下结果-
[1]  true false  true  true
称为逻辑非运算符。取向量的每个元素并给出相反的逻辑值。
v <-c(3,0,TRUE,2+2i)
print(!v)
它产生以下结果-
[1] false  true false FALSE
逻辑运算符 && 和 ||只考虑向量的第一个元素并给出单个元素的向量作为输出。
运算符 描述 示例
&& 称为逻辑与运算符。取两个向量的第一个元素,仅当两者都为 TRUE 时才给出 TRUE。
v <-c(3,0,TRUE,2+2i)
t <-c(1,3,TRUE,2+3i)
print(v&&t)
它产生以下结果-
[1] true
|| 称为逻辑或运算符。取两个向量的第一个元素,如果其中一个为 TRUE,则给出 TRUE。
v <-c(0,0,TRUE,2+2i)
t <-c(0,3,TRUE,2+3i)
print(v||t)
它产生以下结果-
[1] false

赋值运算符

这些运算符用于为向量赋值。
运算符 描述 示例
<−
=
<<-
称为左赋值
v1 <-c(3,1,TRUE,2+3i)
v2 <<-c(3,1,TRUE,2+3i)
v3 = c(3,1,TRUE,2+3i)
print(v1)
print(v2)
print(v3)
它产生以下结果-
[1] 3+0i 1+0i 1+0i 2+3i
[1] 3+0i 1+0i 1+0i 2+3i
[1] 3+0i 1+0i 1+0i 2+3i
->
->>
称为权限分配
c(3,1,TRUE,2+3i)-> v1
c(3,1,TRUE,2+3i)->> v2 
print(v1)
print(v2)
它产生以下结果-
[1] 3+0i 1+0i 1+0i 2+3i
[1] 3+0i 1+0i 1+0i 2+3i

杂项操作员

这些运算符用于特定目的,而不是一般的数学或逻辑计算。
运算符 描述 示例
: 冒号运算符。它按顺序为向量创建一系列数字。
v <-2:8
print(v) 
它产生以下结果-
[1] 2 3 4 5 6 7 8
%in% 这个操作符用于识别一个元素是否属于一个向量。
v1 <-8
v2 <-12
t <-1:10
print(v1 %in% t) 
print(v2 %in% t) 
它产生以下结果-
[1] true
[1] false
%*% 此运算符用于将矩阵与其转置相乘。
M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = true)
t = M %*% t(M)
print(t)
它产生以下结果-
      [,1] [,2]
[1,]   65   82
[2,]   82  117
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4