R – Operadores

Los operadores son los símbolos que indican al compilador que realice varios tipos de operaciones entre los operandos. Los operadores simulan las diversas operaciones matemáticas, lógicas y de decisión realizadas en un conjunto de números complejos, enteros y numéricos como operandos de entrada. 

Operadores R 

R admite principalmente cuatro tipos de operadores binarios entre un conjunto de operandos. En este artículo, veremos varios tipos de operadores en el lenguaje de programación R y su uso.

Tipos del operador en lenguaje R

Operadores aritméticos

Las operaciones aritméticas simulan varias operaciones matemáticas, como suma, resta, multiplicación, división y módulo utilizando el operador especificado entre operandos, que pueden ser valores escalares, números complejos o vectores. Las operaciones se realizan por elementos en las posiciones correspondientes de los vectores. 

Operador de suma (+): 

Se suman los valores en las posiciones correspondientes de ambos operandos. Considere el siguiente fragmento de R para agregar dos vectores:

Input : a <- c (1, 0.1)
        b <- c (2.33, 4)
        print (a+b)
Output : 3.33  4.10 

Operador de resta (-): 

Los valores del segundo operando se restan del primero. Considere el siguiente fragmento de R para restar dos variables:

Input : a <- 6
        b <- 8.4
        print (a-b)
Output : -2.4 

Operador de multiplicación (*): 

La multiplicación de elementos correspondientes de vectores y enteros se multiplica con el uso del operador ‘*’.

Input : B= matrix(c(4,6i),nrow=1,ncol=2) 
        C= matrix(c(2,2i ),nrow=1, ncol=2)
        print (B*C)
Output : 8+0i  -12+0i
The elements at corresponding positions of matrices are multiplied. 

Operador de división (/): 

El primer operando se divide por el segundo operando con el uso del operador ‘/’.

Input : a <- 1
        b <- 0
        print (a/b)
Output : -Inf

Operador de energía (^): 

El primer operando se eleva a la potencia del segundo operando.

Input : list1 <- c(2, 3)
        list2 <- c(2,4)
        print(list1^list2)
Output : 4  81

Operador de módulo (%%): 

Se devuelve el resto del primer operando dividido por el segundo operando.

Input : list1<- c(2, 3)
        list2<-c(2,4)
        print(list1%%list2)
Output : 0  3

El siguiente código R ilustra el uso de todos los operadores aritméticos en R: 

R

# R program to illustrate
# the use of Arithmetic operators
vec1 <- c(0, 2)
vec2 <- c(2, 3)
 
# Performing operations on Operands
cat ("Addition of vectors :", vec1 + vec2, "\n")
cat ("Subtraction of vectors :", vec1 - vec2, "\n")
cat ("Multiplication of vectors :", vec1 * vec2, "\n")
cat ("Division of vectors :", vec1 / vec2, "\n")
cat ("Modulo of vectors :", vec1 %% vec2, "\n")
cat ("Power operator :", vec1 ^ vec2)

Producción: 

Addition of vectors : 2 5 
Subtraction of vectors : -2 -1 
Multiplication of vectors : 0 6 
Division of vectors : 0 0.6666667 
Modulo of vectors : 0 2 
Power operator : 0 8

Operadores logicos

Las operaciones lógicas simulan operaciones de decisión por elementos, en función del operador especificado entre los operandos, que luego se evalúan como un valor booleano verdadero o falso. Cualquier valor entero distinto de cero se considera un valor VERDADERO, ya sea un número complejo o real. 

Operador AND lógico por elementos (&):

Devuelve True si ambos operandos son True.

Input : list1 <- c(TRUE, 0.1)
        list2 <- c(0,4+3i)
        print(list1 & list2)
Output : FALSE   TRUE
Any non zero integer value is considered as a TRUE value, be it complex or real number. 

Operador OR lógico por elementos (|):

Devuelve True si alguno de los operandos es True.

Input : list1 <- c(TRUE, 0.1)
        list2 <- c(0,4+3i)
        print(list1|list2)
Output : TRUE  TRUE

NO operador (!): 

Un operador unario que niega el estado de los elementos del operando.

Input : list1 <- c(0,FALSE)
        print(!list1)    
Output : TRUE  TRUE

Operador lógico AND (&&):

Devuelve True si los dos primeros elementos de los operandos son True.

Input : list1 <- c(TRUE, 0.1)
        list2 <- c(0,4+3i)
        print(list1 && list2)
Output : FALSE 
Compares just the first elements of both the lists.

Operador OR lógico (||): 

Devuelve True si alguno de los primeros elementos de los operandos es True.

Input : list1 <- c(TRUE, 0.1)
        list2 <- c(0,4+3i)
        print(list1||list2)
Output : TRUE 

El siguiente código R ilustra el uso de todos los operadores lógicos en R:  

R

# R program to illustrate
# the use of Logical operators
vec1 <- c(0,2)
vec2 <- c(TRUE,FALSE)
 
# Performing operations on Operands
cat ("Element wise AND :", vec1 & vec2, "\n")
cat ("Element wise OR :", vec1 | vec2, "\n")
cat ("Logical AND :", vec1 && vec2, "\n")
cat ("Logical OR :", vec1 || vec2, "\n")
cat ("Negation :", !vec1)

Producción: 

Element wise AND : FALSE FALSE 
Element wise OR : TRUE TRUE 
Logical AND : FALSE 
Logical OR : TRUE 
Negation : TRUE FALSE

Operadores relacionales

Los operadores relacionales realizan operaciones de comparación entre los elementos correspondientes de los operandos. Devuelve un valor booleano VERDADERO si el primer operando satisface la relación en comparación con el segundo. Un valor VERDADERO siempre se considera mayor que el FALSO. 

Menos que (<):

Devuelve VERDADERO si el elemento correspondiente del primer operando es menor que el del segundo operando. De lo contrario, devuelve FALSO.

Input :  list1 <- c(TRUE, 0.1,"apple")
         list2 <- c(0,0.1,"bat")
         print(list1<list2)
Output :  FALSE FALSE  TRUE

Menor que igual a (<=): 

Devuelve VERDADERO si el elemento correspondiente del primer operando es menor o igual que el del segundo operando. De lo contrario, devuelve FALSO.

Input :  list1 <- c(TRUE, 0.1,"apple")
         list2 <- c(0,0.1,"bat")
         print(list<=list2)
Output : FALSE TRUE TRUE

Mayor que (>): 

Devuelve VERDADERO si el elemento correspondiente del primer operando es mayor que el del segundo operando. De lo contrario, devuelve FALSO.

Input :  list1 <- c(TRUE, 0.1,"apple")
         list2 list2)
Output : TRUE FALSE FALSE

Mayor que igual a (>=): 

Devuelve VERDADERO si el elemento correspondiente del primer operando es mayor o igual que el del segundo operando. De lo contrario, devuelve FALSO.

Input :  list1 <- c(TRUE, 0.1,"apple")
         list2 =list2)
Output : TRUE TRUE FALSE

No es igual a (!=): 

Devuelve VERDADERO si el elemento correspondiente del primer operando no es igual al segundo operando. De lo contrario, devuelve FALSO.

Input : list1 <- c(TRUE, 0.1,""apple")
        list2 <- c(0,0.1,"bat")
        print(list1!=list2)
Output : TRUE FALSE TRUE

El siguiente código R ilustra el uso de todos los operadores relacionales en R:

R

# R program to illustrate
# the use of Relational operators
vec1 <- c(0, 2)
vec2 <- c(2, 3)
 
# Performing operations on Operands
cat ("Vector1 less than Vector2 :", vec1 < vec2, "\n")
cat ("Vector1 less than equal to Vector2 :", vec1 <= vec2, "\n")
cat ("Vector1 greater than Vector2 :", vec1 > vec2, "\n")
cat ("Vector1 greater than equal to Vector2 :", vec1 >= vec2, "\n")
cat ("Vector1 not equal to Vector2 :", vec1 != vec2, "\n")

Producción: 

Vector1 less than Vector2 : TRUE TRUE 
Vector1 less than equal to Vector2 : TRUE TRUE 
Vector1 greater than Vector2 : FALSE FALSE 
Vector1 greater than equal to Vector2 : FALSE FALSE 
Vector1 not equal to Vector2 : TRUE TRUE 

Operadores de Asignación

Los operadores de asignación se utilizan para asignar valores a varios objetos de datos en R. Los objetos pueden ser números enteros, vectores o funciones. Estos valores luego son almacenados por los nombres de variables asignados. Hay dos tipos de operadores de asignación: Left y Right

Asignación izquierda (<- o <<- o =): 

Asigna un valor a un vector.

Input : vec1 = c("ab", TRUE) 
        print (vec1)
Output : "ab"   "TRUE"

Asignación de derecho (-> o ->>): 

Asigna valor a un vector.

Input : c("ab", TRUE) ->> vec1
        print (vec1)
Output : "ab"   "TRUE"

El siguiente código R ilustra el uso de todos los operadores relacionales en R:

R

# R program to illustrate
# the use of Assignment operators
vec1 <- c(2:5)
c(2:5) ->> vec2
vec3 <<- c(2:5)
vec4 = c(2:5)
c(2:5) -> vec5
 
# Performing operations on Operands
cat ("vector 1 :", vec1, "\n")
cat("vector 2 :", vec2, "\n")
cat ("vector 3 :", vec3, "\n")
cat("vector 4 :", vec4, "\n")
cat("vector 5 :", vec5)

Producción: 

vector 1 : 2 3 4 5 
vector 2 : 2 3 4 5 
vector 3 : 2 3 4 5 
vector 4 : 2 3 4 5 
vector 5 : 2 3 4 5

Operadores misceláneos

Estos son los operadores mixtos que simulan la impresión de secuencias y la asignación de vectores, ya sean diestros o zurdos. 

Operador %in%: 

Comprueba si un elemento pertenece a una lista y devuelve un valor booleano VERDADERO si el valor está presente o FALSO.

Input : val <- 0.1
        list1 <- c(TRUE, 0.1,"apple")
        print (val %in% list1)
Output : TRUE
Checks for the value 0.1 in the specified list. It exists, therefore, prints TRUE.

Operador de dos puntos (:): 

Imprime una lista de elementos comenzando con el elemento anterior a los dos puntos hasta el elemento posterior.

Input :  print (1:5)
Output : 1 2 3 4 5
Prints a sequence of the numbers from 1 to 5.

%*% Operador: 

Este operador se usa para multiplicar una array con su transpuesta. La transposición de la array se obtiene intercambiando filas por columnas y columnas por filas. El número de columnas de la primera array debe ser igual al número de filas de la segunda array. La multiplicación de la array A por su transpuesta B produce una array cuadrada. 
A_{r*c} x B_c*r -> P_{r*r}

Input :  mat = matrix(c(1,2,3,4,5,6),nrow=2,ncol=3)
         print (mat)
         print( t(mat))
         pro = mat %*% t(mat)
         print(pro)
Output :     [,1] [,2] [,3]      #original matrix of order 2x3
        [1,]   1    3    5
        [2,]   2    4    6
             [,1] [,2]           #transposed matrix of order 3x2
        [1,]    1    2
        [2,]    3    4
        [3,]    5    6
             [,1] [,2]          #product matrix of order 2x2
        [1,]   35   44
        [2,]   44   56

El siguiente código R ilustra el uso de todos los operadores varios en R:

R

# R program to illustrate
# the use of Miscellaneous operators
mat <- matrix (1:4, nrow = 1, ncol = 4)
print("Matrix elements using : ")
print(mat)
 
product = mat %*% t(mat)
print("Product of matrices")
print(product,)
cat ("does 1 exist in prod matrix :", "1" %in% product)

Producción: 

[1] "Matrix elements using : "
     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4

[1] "Product of matrices"
     [,1]
[1,]   30

does 1 exist in prod matrix : FALSE

Publicación traducida automáticamente

Artículo escrito por yippeee25 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *