Tipos de operadores em R e suas principais funções [TUTORIAL]

Tipos de Operadores em R e suas principais funções

Os operadores em R são símbolos que informam ao compilador como realizar manipulações lógicas ou matemáticas específicas.

Existem vários operadores em R, tais como operadores aritméticos para cálculos matemáticos, operadores lógicos, relacionais ou de atribuição ou até mesmo o popular operador de tubulação.

Tipos de Operadores em R

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

  • Operadores aritméticos;
  • Operadores relacionais (de comparação em R);
  • Operadores lógicos/booleanos;
  • Operadores de atribuição em R;
  • Operadores diversos em R;
  • Operadores Infix;
  • Operador de tubulação em R.

Neste tutorial, mostraremos os operadores em R divididos por tipos de operador, além disso, mostraremos exemplos de uso de cada um deles.

Operadores Aritméticos

Os operadores aritméticos em R nos permitem fazer operações matemáticas, como somas, divisões ou multiplicações, entre outras. A tabela a seguir mostra os operadores aritméticos suportados pela linguagem R. Os operadores atuam em cada elemento do vetor.

Operador aritmético em R Descrição
+ Mais
Menos
* Multiplicação
/ Divisão
^ Exponencial
** Exponencial
%% Módulo
% /% Divisão inteira
% *% Multiplicação da matriz
% o% Produto externo
% x% Produto Kronecker

 

No próximo bloco de código, você encontrará exemplos de cálculos básicos com operações aritméticas com números inteiros.

#-----------------
# Operações báicas
#-----------------

3 + 5   # 8
8 - 3   # 5
7 * 5   # 35
1/2     # 0.5
4 ^ 4   # 256
4 ** 4  # 256
5 %% 3  # 2
5 %/% 3 # 1

Você também pode usar as operações básicas com vetores R do mesmo comprimento. Observe que o resultado dessas operações será um vetor com resultados de operação por elemento.

#---------
# Vetores
#---------

x <- c(1, 7, 3)
y <- c(9, 4, 5)

x + y   # 10 11  8
x - y   # -8  3 -2
x * y   #  9 28 15
x / 2   #  0.5 3.5 1.5

# Cada elemento do primeiro vetor elevado
# para o elemento correspondente do segundo
x ** y  # 1 2401  243 
x ^ y   # 1 2401  243

x %% y  # 1 3 3
x %/% y # 0 1 0

Além disso, você pode usar esses operadores aritméticos com objetos de matriz, além daqueles projetados para este tipo de objeto (tipos de multiplicação de matrizes).

#---------
# Matriz
#---------

s <- matrix(1:6, nrow = 2, ncol = 3)
t <- matrix(8:13, nrow = 2, ncol = 3)

s
#      [, 1] [, 2] [, 3]
# [1, ]   1     3     5
# [2, ]   2     4     6

t
#      [, 1] [, 2] [, 3]
# [1, ]   8    10    12
# [2, ]   9    11    13


# soma da Matriz

s + t

#      [, 1] [, 2] [, 3]
# [1, ]   9    13    17
# [2, ]  11    15    19


# Multiplicação elemento por elemento
s * t

#       [, 1] [, 2] [, 3]
# [1, ]    8   30   60
# [2, ]   18   44   78

# Observe que você precisa das dimensões corretas para a multiplicação da matriz
w <- matrix(8:13, nrow = 2, ncol = 3)
z <- matrix(1:6, nrow = 3, ncol = 2)

w %*% z

#       [, 1] [, 2]
# [1, ]   64   154
# [2, ]   70   169

# Multiplicação externa
w %o% z # (Output ommited)

# Produto Kronecker
w %x% z

#        [, 1] [, 2] [, 3] [, 4] [, 5] [, 6]
# [1, ]     8    32    10    40    12    48
# [2, ]    16    40    20    50    24    60
# [3, ]    24    48    30    60    36    72
# [4, ]     9    36    11    44    13    52
# [5, ]    18    45    22    55    26    65
# [6, ]    27    54    33    66    39    78

Operadores relacionais (de comparação em R)

Os operadores de comparação ou relacionais são projetados para comparar objetos e a saída dessas comparações são do tipo booleano.

Para esclarecer, 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 relacional em R Descrição
> Maior que
< Mais baixo que
> = Maior ou igual a
<= Menor ou igual a
== Igual a
! = Diferente de

 

Por exemplo, você pode comparar valores inteiros com esses operadores da seguinte maneira.

#------------------
# Operações básicas
#-------------------

3 > 5  # TRUE
3 < 5  # FALSE
3 >= 5 # FALSE
3 <= 5 # TRUE
3 == 5 # FALSE
3 != 5 # TRUE

Se você comparar vetores, a saída será outro vetor do mesmo comprimento e cada elemento conterá o booleano correspondente à comparação dos elementos correspondentes (o primeiro elemento do primeiro vetor com o primeiro elemento do segundo vetor e assim por diante).

Além disso, você pode comparar cada elemento de uma matriz com outro.

#---------
# Vetores
#---------

x <- c(12, 4 , 14)
y <- c(3, 4, 15)

x >= y # TRUE TRUE FALSE
x <= y # FALSE TRUE TRUE
x == y # FALSE TRUE FALSE
x != y # TRUE FALSE  TRUE

#---------
# Matriz
#---------

# Observe que a matriz deve ter a mesma dimensão
# A comparação é elemento por elemento


s <- matrix(1:6, nrow = 2, ncol = 3)
t <- matrix(8:13, nrow = 2, ncol = 3)


s > t

#        [, 1]  [, 2]  [, 3]
# [1, ]  FALSE  FALSE  FALSE
# [2, ]  FALSE  FALSE  FALSE

s < t
s >= t 
s <= t 
s == t 

Operadores lógicos/booleanos

Agora nos operadores em R, vamos ver como funciona os operadores booleanos ou lógicos em R, eles são usados ​​para especificar várias condições entre objetos. Essas comparações retornam valores TRUEFALSE.

Operador lógico em R Descrição
E ‘E’ lógico elementar
&& Vector lógico ‘E’
| ‘OR’ lógico elementar
|| Vetor lógico ‘OU’
! Negação lógica ‘NÃO’
xor () Elemento a elemento exclusivo ‘OR’
equivalente a! (X | y)
40 & 5 > 30 # FALSE
40 | 5 > 30 # TRUE
!TRUE  # FALSE
!FALSE # TRUE

#---------
# Vetores
#---------

x <- c(3, 4, 5)
y <- c(3, 5, 1)

x & y   # TRUE TRUE TRUE
x && y  # TRUE

x | y   # TRUE TRUE TRUE
x || y  # TRUE

!x # FALSE FALSE FALSE

xor(x, y) # FALSE FALSE FALSE

Operadores de atribuição em R

Os operadores de atribuição em R permitem atribuir dados a um objeto nomeado para armazenar os dados.

Operador de atribuição em R Descrição
<- Trabalho deixado
= Atribuição da esquerda
(não recomendado)
e atribuição do argumento
-> Atribuição certa
<< – Atribuição lexicográfica à esquerda
(para usuários avançados)
– >> Atribuição lexicográfica correta
(para usuários avançados)

NOTA: Observe que, em linguagens de programação quase script, você pode apenas usar o operador igual (=). No entanto, em R é recomendado usar a atribuição de seta (<-) e usar o sinal de igual apenas para definir os argumentos.

A atribuição da seta pode ser usada como atribuição à esquerda ou à direita, mas a atribuição à direita geralmente não é usada. Além disso, você pode usar a atribuição de seta dupla, conhecida como atribuição de escopo, mas não entraremos em mais detalhes neste tutorial, pois é para usuários avançados. Você pode saber mais sobre este operador de atribuição no nosso post sobre funções em R.

No bloco de código a seguir, você encontrará alguns exemplos desses operadores.

x <- 3
x = 26
rnorm(n = 10)

3 -> y

w <<- 7
7 ->> z

NOTA: Se você precisar usar a atribuição correta, lembre-se de que o objeto que deseja armazenar precisa estar à esquerda, ou ocorrerá um erro.

Existem algumas regras ao nomear variáveis. Por exemplo, você pode usar letras, números, pontos e sublinhados no nome da variável, mas os sublinhados não podem ser o primeiro caractere do nome da variável.

Há também palavras reservadas você não pode usar, como TRUEFALSENULL, entre outros. Você pode ver a lista completa de palavras R reservadas digitando help(Reserved)ou ?Reserved.

No entanto, se por algum motivo você precisar nomear sua variável com uma palavra reservada ou começar com um sublinhado, você precisará usar crases:

_variable <- 3    # Error
`_variable` <- 3  # Works

TRUE <- 3   # Error
`TRUE` <- 3 # Works

Operadores diversos em R

Operadores diversos em R são operadores usados ​​para fins específicos, como acessar dados, funções, criar sequências ou especificar uma fórmula de um modelo. Para esclarecer, a próxima tabela contém todos os operadores diversos em R disponíveis.

Operador diverso em R Descrição
$ Lista nomeada ou
subconjunto de colunas de dataframe
: Gerador de sequência
:: Acessando funções de pacotes
Normalmente não é necessário
::: Acessando funções internas de pacotes
~ Fórmulas de modelo
@ Acessando slots nas classes S4
(avançado)

Além disso, no seguinte bloco de código, mostramos vários exemplos desses operadores:

df <- data.frame(x = c(7, 9, 2), y = c(5, 9, 5))
# Acessando a variável x
df$x

# Sequencia de 1 a 5
1:5

# função rnorm do pacote de estatísticas
stats::rnorm(10)

# Fórmula do modelo linear
lm(df$x ~ df$y)

Operadores Infix

Você pode chamar uma operadora como uma função. Isso é conhecido como operadores infixos. Observe que esse tipo de operador geralmente não é usado ou necessário.

`+`(3, 2) # Equivalent to 3 + 2
`*`(5, 9) # Equivalenta a 5 * 9
`>`(6, 1) # Equivalente a 6 > 1

Operador de tubulação em R

O operador de tubulação em R é um operador que você pode encontrar em várias bibliotecas, como dplyr. O operador pode ser lido como ‘AND THEN’ e sua finalidade é simplificar a sintaxe ao escrever o código R. Como exemplo, você pode criar um carros subconjunto do conjunto de dados e, em seguida, criar um resumo do subconjunto com o seguinte código:

# install.packages("dplyr")
library(dplyr)

carros %>% 
   subset(velocidade > 20) %>% 
   summary()

Resultado:

     velocidade            distancia       
 Min.   :22.00           Min.   : 54.00  
 1º Qu. :23.50           1st Qu.: 68.00  
 Median :24.00           Median : 85.00  
 Mean   :23.71           Mean   : 82.86  
 3rd Qu.:24.00           3rd Qu.: 92.50  
 Max.   :25.00           Max.   :120.00 

Conclusão

Os operadores em R são importantes para fazer cálculos, análise de dados, medição de estatísticas, além de facilitar ao escrever códigos. Como cientista de dados é importante conhecer cada um deles para saber exatamente quando utilizá-los, otimizando assim os seus resultados.

Até a próxima!

 

Compartilhe

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on whatsapp
WhatsApp
Share on print
imprimir
Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on print

O que achou deste artigo?

Leia também