r语言中两个等于号是什么意思

Python015

r语言中两个等于号是什么意思,第1张

r语言中等于号是用作赋值的功能。R语言最开始设计的时候,是采用箭头(<-)作为赋值符号的,这是从APL语言继承而来的(箭头表示赋值,等号表示判断)。之后的S语言也沿用了这个用法,再之后R语言为了保持和S语言的兼容性保留了这个箭头。直到2001年,R的更新版本中 才加入了等号(=)赋值。因此,对于一般的赋值语句,箭头(<-)与 等号(=)在 功能上是没有区别的,可以通用。但是等号(=)的作用有两个:它既可以赋值,也可以传递函数参数(实际上传参可以看作一种特殊形式的赋值,给参数赋值)。通常情况下,如果等号(=)出现在单独的环境中,它就是赋值;如果写在函数的参数位置,它就是传参。如果你在设置参数的时候使用了箭头(<-),那么你会发现在全局变量里,会多出一个和参数名相同的赋值的变量,容易导致歧义和错误,而且占用命名空间。

r语言中= 和=,<-功能是相同,有时候=会出错,所以用<-。但是从字面上解释,通常“<-”被认为是赋值,”=”是传值。

在函数调用中,func(x=1)与func(x<-1)是有区别的,前者调用完后变量x不会被保留,而后者会在工作区里保留变量x=1。

length(x=seq(1,10))计算完成后x不会被保留,而length(x<-seq(1,10))计算完后你会在工作区里发现x这个变量。

r言语通常用符号”<-”代替其它语言里的”=”来作赋值符号。前者敲起来比=要麻烦,而且大部分情况下两者是等价的,所以通常就依旧用”=”来赋值。

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

运算符的类型

R语言中拥有如下几种运算符类型:

算术运算符

关系运算符

逻辑运算符

赋值运算符

其他运算符

算术运算符

下表显示了R语言支持的算术运算符。 操作符对向量的每个元素起作用。

运算符 描述 例

关系运算符

下表显示了R语言支持的关系运算符。 将第一向量的每个元素与第二向量的相应元素进行比较。 比较的结果是布尔值。

运算符 描述 例

逻辑运算符

下表显示了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