R - Operadores

Um operador é um símbolo que diz ao compilador para realizar manipulações matemáticas ou lógicas específicas. A linguagem R é rica em operadores integrados e fornece os seguintes tipos de operadores.

Tipos de Operadores

Temos os seguintes tipos de operadores na programação R -

  • Operadores aritméticos
  • Operadores Relacionais
  • Operadores lógicos
  • Operadores de atribuição
  • Operadores diversos

Operadores aritméticos

A tabela a seguir mostra os operadores aritméticos suportados pela linguagem R. Os operadores atuam em cada elemento do vetor.

Operador Descrição Exemplo
+ Adiciona dois vetores
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v+t)

produz o seguinte resultado -

[1] 10.0  8.5  10.0
- Subtrai o segundo vetor do primeiro
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v-t)

produz o seguinte resultado -

[1] -6.0  2.5  2.0
* Multiplica os dois vetores
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v*t)

produz o seguinte resultado -

[1] 16.0 16.5 24.0
/ Divida o primeiro vetor com o segundo
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v/t)

Quando executamos o código acima, ele produz o seguinte resultado -

[1] 0.250000 1.833333 1.500000
%% Dê o restante do primeiro vetor com o segundo
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v%%t)

produz o seguinte resultado -

[1] 2.0 2.5 2.0
% /% O resultado da divisão do primeiro vetor com o segundo (quociente)
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v%/%t)

produz o seguinte resultado -

[1] 0 1 1
^ O primeiro vetor elevado ao expoente do segundo vetor
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v^t)

produz o seguinte resultado -

[1]  256.000  166.375 1296.000

Operadores Relacionais

A tabela a seguir mostra os operadores relacionais suportados pela linguagem R. Cada elemento do primeiro vetor é comparado com o elemento correspondente do segundo vetor. O resultado da comparação é um valor booleano.

Operador Descrição Exemplo
> Verifica se cada elemento do primeiro vetor é maior que o elemento correspondente do segundo vetor.
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v>t)

produz o seguinte resultado -

[1] FALSE  TRUE FALSE FALSE
< Verifica se cada elemento do primeiro vetor é menor que o elemento correspondente do segundo vetor.
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v < t)

produz o seguinte resultado -

[1]  TRUE FALSE  TRUE FALSE
== Verifica se cada elemento do primeiro vetor é igual ao elemento correspondente do segundo vetor.
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v == t)

produz o seguinte resultado -

[1] FALSE FALSE FALSE  TRUE
<= Verifica se cada elemento do primeiro vetor é menor ou igual ao elemento correspondente do segundo vetor.
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v<=t)

produz o seguinte resultado -

[1]  TRUE FALSE  TRUE  TRUE
> = Verifica se cada elemento do primeiro vetor é maior ou igual ao elemento correspondente do segundo vetor.
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v>=t)

produz o seguinte resultado -

[1] FALSE  TRUE FALSE  TRUE
! = Verifica se cada elemento do primeiro vetor é diferente do elemento correspondente do segundo vetor.
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v!=t)

produz o seguinte resultado -

[1]  TRUE  TRUE  TRUE FALSE

Operadores lógicos

A tabela a seguir mostra os operadores lógicos suportados pela linguagem R. É aplicável apenas a vetores do tipo lógico, numérico ou complexo. Todos os números maiores que 1 são considerados como valor lógico TRUE.

Cada elemento do primeiro vetor é comparado com o elemento correspondente do segundo vetor. O resultado da comparação é um valor booleano.

Operador Descrição Exemplo
E É chamado de operador E lógico elementar. Ele combina cada elemento do primeiro vetor com o elemento correspondente do segundo vetor e dá uma saída TRUE se ambos os elementos forem TRUE.
v <- c(3,1,TRUE,2+3i)
t <- c(4,1,FALSE,2+3i)
print(v&t)

produz o seguinte resultado -

[1]  TRUE  TRUE FALSE  TRUE
| É chamado de operador OR lógico elementar. Ele combina cada elemento do primeiro vetor com o elemento correspondente do segundo vetor e dá uma saída TRUE se um dos elementos for TRUE.
v <- c(3,0,TRUE,2+2i)
t <- c(4,0,FALSE,2+3i)
print(v|t)

produz o seguinte resultado -

[1]  TRUE FALSE  TRUE  TRUE
! É chamado de operador lógico NOT. Pega cada elemento do vetor e fornece o valor lógico oposto.
v <- c(3,0,TRUE,2+2i)
print(!v)

produz o seguinte resultado -

[1] FALSE  TRUE FALSE FALSE

O operador lógico && e || considera apenas o primeiro elemento dos vetores e fornece um vetor de elemento único como saída.

Operador Descrição Exemplo
&& Operador lógico chamado AND. Pega o primeiro elemento de ambos os vetores e dá o VERDADEIRO somente se ambos forem VERDADEIROS.
v <- c(3,0,TRUE,2+2i)
t <- c(1,3,TRUE,2+3i)
print(v&&t)

produz o seguinte resultado -

[1] TRUE
|| Operador lógico chamado OR. Pega o primeiro elemento de ambos os vetores e dá o TRUE se um deles for TRUE.
v <- c(0,0,TRUE,2+2i)
t <- c(0,3,TRUE,2+3i)
print(v||t)

produz o seguinte resultado -

[1] FALSE

Operadores de atribuição

Esses operadores são usados ​​para atribuir valores aos vetores.

Operador Descrição Exemplo

<-

ou

=

ou

<< -

Atribuição Chamada de Esquerda
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)

produz o seguinte resultado -

[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

->

ou

- >>

Atribuição Chamada de Direito
c(3,1,TRUE,2+3i) -> v1
c(3,1,TRUE,2+3i) ->> v2 
print(v1)
print(v2)

produz o seguinte resultado -

[1] 3+0i 1+0i 1+0i 2+3i
[1] 3+0i 1+0i 1+0i 2+3i

Operadores diversos

Esses operadores são usados ​​para fins específicos e não para cálculos matemáticos ou lógicos gerais.

Operador Descrição Exemplo
: Operador de cólon. Ele cria a série de números em sequência para um vetor.
v <- 2:8
print(v)

produz o seguinte resultado -

[1] 2 3 4 5 6 7 8
%dentro% Este operador é usado para identificar se um elemento pertence a um vetor.
v1 <- 8
v2 <- 12
t <- 1:10
print(v1 %in% t) 
print(v2 %in% t)

produz o seguinte resultado -

[1] TRUE
[1] FALSE
% *% Este operador é usado para multiplicar uma matriz com sua transposta.
M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = TRUE)
t = M %*% t(M)
print(t)

produz o seguinte resultado -

[,1] [,2]
[1,]   65   82
[2,]   82  117