一、R语言中拥有如下几种运算符类型:
算术运算符
关系运算符
逻辑运算符
赋值运算符
其他运算符
算术运算符
下表显示了R语言支持的算术运算符。 操作符对向量的每个元素起作用。
标题1 | 标题2 | 标题3
运算符 | 描述 | 例 |
---|---|---|
+ | 两个向量相加 | v <- c( 2,5.5,6) t <- c(8, 3, 4) print(v+t) 它产生以下结果 -10.0 8.5 10.0 |
- | 两个向量相减 | v <- c( 2,5.5,6) t <- c(8, 3, 4) print(v-t) 它产生以下结果 -6.0 2.5 2.0 |
* | 两个向量相乘 | v <- c( 2,5.5,6) t <- c(8, 3, 4) print(v*t) 它产生以下结果 -16.0 16.5 24.0 |
/ | 将第一个向量与第二个向量相除 | v <- c( 2,5.5,6) t <- c(8, 3, 4) print(v/t) 当我们执行上面的代码,它产生以下结果 -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 |
关系运算符
将第一向量的每个元素与第二向量的相应元素进行比较。 比较的结果是布尔值。 结果为FALSE或者TRUE
运算符 | 描述 |
---|---|
> | 检查第一向量的每个元素是否大于第二向量的相应元素。 |
< | 检查第一个向量的每个元素是否小于第二个向量的相应元素。 |
== | 检查第一个向量的每个元素是否等于第二个向量的相应元素。 |
<= | 检查第一向量的每个元素是否小于或等于第二向量的相应元素。 |
>= | 检查第一向量的每个元素是否大于或等于第二向量的相应元素。 |
!= | 检查第一个向量的每个元素是否不等于第二个向量的相应元素。 |
逻辑运算符
运算符 | 描述 |
---|---|
& | 它被称为元素逻辑AND运算符。 它将第一向量的每个元素与第二向量的相应元素组合,并且如果两个元素都为TRUE,则给出输出TRUE。 |
¦ | 它被称为元素逻辑或运算符。 它将第一向量的每个元素与第二向量的相应元素组合,并且如果元素为真,则给出输出TRUE。 |
! | 它被称为逻辑非运算符。 取得向量的每个元素,并给出相反的逻辑值。 |
逻辑运算符&&和|| 只考虑向量的第一个元素,给出单个元素的向量作为输出。
运算符 | 描述 |
---|---|
&& | 称为逻辑AND运算符。 取两个向量的第一个元素,并且只有两个都为TRUE时才给出TRUE。 |
¦¦ | 称为逻辑OR运算符。 取两个向量的第一个元素,如果其中一个为TRUE,则给出TRUE。 |
赋值运算符
运算符 | 描述 | 例 |
---|---|---|
<− or = or <<− | 称为左分配 | 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) 它产生以下结果 - 3+0i 1+0i 1+0i 2+3i 3+0i 1+0i 1+0i 2+3i 3+0i 1+0i 1+0i 2+3i |
-> or ->> | 称为右分配 | c(3,1,TRUE,2+3i) -> v1 c(3,1,TRUE,2+3i) ->> v2 print(v1) print(v2) 它产生以下结果 - 3+0i 1+0i 1+0i 2+3i 3+0i 1+0i 1+0i 2+3i |
其他运算符
运算符 | 描述 | 例 |
---|---|---|
: | 冒号运算符。 它为向量按顺序创建一系列数字。 | v <- 2:8 print(v) 它产生以下结果 - 2 3 4 5 6 7 8 |
%in% | 此运算符用于标识元素是否属于向量。 | v1 <- 8 v2 <- 12 t <- 1:10 print(v1 %in% t) print(v2 %in% t) 它产生以下结果 - TRUE 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 |
参考R语言 运算符https://blog.csdn.net/qq_38131668/article/details/79712000
二、运算符优先级
运算符优先级
第1级 () [] -> . ::
第2级 ! ~ ++ – - + * & (type) sizeof new,delete
第3级 ->* .*
第4级 * / %
第5级 + -
第6级 << >>
第7级 < <= > >=
第8级 == !=
第9级 &
第10级 ^
第11级 |
第12级 &&
第13级 ||
第14级 ? :
第15级 = += -= *= /= %= &= ^= |= <<= >>=
第16级 ,
三、向量
R拥有许多用于存储数据的对象(object)类型,包括标量(scalar)、向量(vector)、矩阵(matrix)、数组(array)、数据框(data frame)和列表(list)。
[参考本人的 R语言基础--数据类型之向量 - 简书 ](R语言基础--数据类型之向量 - 简书 https://www.jianshu.com/p/7b47a6bbb7a9)
网友评论