运算符是一个符号,通知编译器执行特定的数学或逻辑操作。R语言具有丰富的内置运算符,共以下5种类型的运算符。
R语言中拥有如下几种运算符类型:
算术运算符
关系运算符
逻辑运算符
赋值运算符
其他运算符
下表显示了R语言支持的算术运算符。操作符对向量的每个元素起作用。
+ | 两个向量相加 | v <- c( 2,5.5,6) |
- | 两个向量相减 | v <- c( 2,5.5,6) |
* | 两个向量相乘 | v <- c( 2,5.5,6) |
/ | 将第一个向量与第二个向量相除 | v <- c( 2,5.5,6) |
%% | 两个向量求余 | v <- c( 2,5.5,6) |
%/% | 两个向量相除求商 | v <- c( 2,5.5,6) |
^ | 将第二向量作为第一向量的指数 | v <- c( 2,5.5,6) |
下表显示了R语言支持的关系运算符。将第一向量的每个元素与第二向量的相应元素进行比较。比较的结果是布尔值。
运算符描述例>
检查第一向量的每个元素是否大于第二向量的相应元素。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print (v>t)
#它产生以下结果
FALSE TRUE FALSE FALSE
<检查第一个向量的每个元素是否小于第二个向量的相应元素。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v < t)
#它产生以下结果
TRUE FALSE TRUE FALSE
==检查第一个向量的每个元素是否等于第二个向量的相应元素。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v == t)
#它产生以下结果
FALSE FALSE FALSE TRUE
<=检查第一向量的每个元素是否小于或等于第二向量的相应元素。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v<=t)
#它产生以下结果
TRUE FALSE TRUE TRUE
> =检查第一向量的每个元素是否大于或等于第二向量的相应元素。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print (v>=t)
#它产生以下结果
FALSE TRUE FALSE TRUE
!=检查第一个向量的每个元素是否不等于第二个向量的相应元素。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v!=t)
#它产生以下结果
TRUE TRUE TRUE FALSE
下表显示了R语言支持的逻辑运算符。它只适用于逻辑,数字或复杂类型的向量。所有大于1的数字被认为是逻辑值TRUE。
将第一向量的每个元素与第二向量的相应元素进行比较。比较的结果是布尔值。
运算符描述例&
它被称为元素逻辑AND运算符。它将第一向量的每个元素与第二向量的相应元素组合,并且如果两个元素都为TRUE,则给出输出TRUE。
v <- c(3,1,TRUE,2+3i)
t <- c(4,1,FALSE,2+3i)
print(v&t)
#它产生以下结果
TRUE TRUE FALSE TRUE
|它被称为元素逻辑或运算符。它将第一向量的每个元素与第二向量的相应元素组合,并且如果元素为真,则给出输出TRUE。
v <- c(3,0,TRUE,2+2i)
t <- c(4,0,FALSE,2+3i)
print(v|t)
#它产生以下结果
TRUE FALSE TRUE TRUE
!它被称为逻辑非运算符。取得向量的每个元素,并给出相反的逻辑值。
v <- c(3,0,TRUE,2+2i)
print(!v)
#它产生以下结果
FALSE TRUE FALSE FALSE
逻辑运算符&&和|| 只考虑向量的第一个元素,给出单个元素的向量作为输出。
运算符描述例&&
称为逻辑AND运算符。取两个向量的第一个元素,并且只有两个都为TRUE时才给出TRUE。
v <- c(3,0,TRUE,2+2i)
t <- c(1,3,TRUE,2+3i)
print(v&&t)
#它产生以下结果
TRUE
||称为逻辑OR运算符。取两个向量的第一个元素,如果其中一个为TRUE,则给出TRUE。
v <- c(0,0,TRUE,2+2i)
t <- c(0,3,TRUE,2+3i)
print(v||t)
#它产生以下结果
FALSE
这些运算符用于向向量赋值。
运算符描述例
<−
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
好了,今天就介绍到这里,预祝大家周末愉快!下期再见!
此外,我们在网易云课堂上有各种教学视频,有兴趣可以了解一下:
1. 文章越来越难发?是你没发现新思路,基因家族分析发2-4分文章简单快速,学习链接:基因家族分析实操课程
2. 转录组数据理解不深入?图表看不懂?点击链接学习深入解读数据结果文件,学习链接:转录组(有参)结果解读;转录组(无参)结果解读
3. 转录组数据深入挖掘技能-WGCNA,提升你的文章档次,学习链接:WGCNA-加权基因共表达网络分析
4. 转录组数据怎么挖掘?学习链接:转录组标准分析后的数据挖掘
6. 更多学习内容:linux、perl、R语言画图,更多免费课程请点击以下链接:
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!