R - Operadores

Un operador es un símbolo que le dice al compilador que realice manipulaciones matemáticas o lógicas específicas. El lenguaje R es rico en operadores integrados y proporciona los siguientes tipos de operadores.

Tipos de operadores

Tenemos los siguientes tipos de operadores en la programación R:

  • Operadores aritméticos
  • Operadores relacionales
  • Operadores logicos
  • Operadores de Asignación
  • Operadores varios

Operadores aritméticos

La siguiente tabla muestra los operadores aritméticos compatibles con el lenguaje R. Los operadores actúan sobre cada elemento del vector.

Operador Descripción Ejemplo
+ Agrega dos vectores
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v+t)

produce el siguiente resultado:

[1] 10.0  8.5  10.0
- Resta el segundo vector del primero
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v-t)

produce el siguiente resultado:

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

produce el siguiente resultado:

[1] 16.0 16.5 24.0
/ Divide el primer vector con el segundo
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v/t)

Cuando ejecutamos el código anterior, produce el siguiente resultado:

[1] 0.250000 1.833333 1.500000
%% Dar el resto del primer vector con el segundo
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v%%t)

produce el siguiente resultado:

[1] 2.0 2.5 2.0
% /% El resultado de la división del primer vector con el segundo (cociente)
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v%/%t)

produce el siguiente resultado:

[1] 0 1 1
^ El primer vector elevado al exponente del segundo vector
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v^t)

produce el siguiente resultado:

[1]  256.000  166.375 1296.000

Operadores relacionales

La siguiente tabla muestra los operadores relacionales compatibles con el lenguaje R. Cada elemento del primer vector se compara con el elemento correspondiente del segundo vector. El resultado de la comparación es un valor booleano.

Operador Descripción Ejemplo
> Comprueba si cada elemento del primer vector es mayor que el elemento correspondiente del segundo vector.
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v>t)

produce el siguiente resultado:

[1] FALSE  TRUE FALSE FALSE
< Comprueba si cada elemento del primer vector es menor que el elemento correspondiente del segundo vector.
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v < t)

produce el siguiente resultado:

[1]  TRUE FALSE  TRUE FALSE
== Comprueba si cada elemento del primer vector es igual al elemento correspondiente del segundo vector.
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v == t)

produce el siguiente resultado:

[1] FALSE FALSE FALSE  TRUE
<= Comprueba si cada elemento del primer vector es menor o igual que el elemento correspondiente del segundo vector.
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v<=t)

produce el siguiente resultado:

[1]  TRUE FALSE  TRUE  TRUE
> = Comprueba si cada elemento del primer vector es mayor o igual que el elemento correspondiente del segundo vector.
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v>=t)

produce el siguiente resultado:

[1] FALSE  TRUE FALSE  TRUE
! = Comprueba si cada elemento del primer vector es diferente al elemento correspondiente del segundo vector.
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v!=t)

produce el siguiente resultado:

[1]  TRUE  TRUE  TRUE FALSE

Operadores logicos

La siguiente tabla muestra los operadores lógicos compatibles con el lenguaje R. Es aplicable solo a vectores de tipo lógico, numérico o complejo. Todos los números mayores que 1 se consideran valor lógico VERDADERO.

Cada elemento del primer vector se compara con el elemento correspondiente del segundo vector. El resultado de la comparación es un valor booleano.

Operador Descripción Ejemplo
Y Se llama operador AND lógico por elementos. Combina cada elemento del primer vector con el elemento correspondiente del segundo vector y da una salida VERDADERO si ambos elementos son VERDADEROS.
v <- c(3,1,TRUE,2+3i)
t <- c(4,1,FALSE,2+3i)
print(v&t)

produce el siguiente resultado:

[1]  TRUE  TRUE FALSE  TRUE
| Se llama operador OR lógico basado en elementos. Combina cada elemento del primer vector con el elemento correspondiente del segundo vector y da una salida VERDADERO si uno de los elementos es VERDADERO.
v <- c(3,0,TRUE,2+2i)
t <- c(4,0,FALSE,2+3i)
print(v|t)

produce el siguiente resultado:

[1]  TRUE FALSE  TRUE  TRUE
! Se llama operador NOT lógico. Toma cada elemento del vector y da el valor lógico opuesto.
v <- c(3,0,TRUE,2+2i)
print(!v)

produce el siguiente resultado:

[1] FALSE  TRUE FALSE FALSE

El operador lógico && y || considera solo el primer elemento de los vectores y da un vector de un solo elemento como salida.

Operador Descripción Ejemplo
&& Operador llamado lógico AND. Toma el primer elemento de ambos vectores y da el VERDADERO solo si ambos son VERDADEROS.
v <- c(3,0,TRUE,2+2i)
t <- c(1,3,TRUE,2+3i)
print(v&&t)

produce el siguiente resultado:

[1] TRUE
|| Operador OR lógico llamado. Toma el primer elemento de ambos vectores y da el VERDADERO si uno de ellos es VERDADERO.
v <- c(0,0,TRUE,2+2i)
t <- c(0,3,TRUE,2+3i)
print(v||t)

produce el siguiente resultado:

[1] FALSE

Operadores de Asignación

Estos operadores se utilizan para asignar valores a los vectores.

Operador Descripción Ejemplo

<-

o

=

o

<< -

Asignación izquierda llamada
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)

produce el siguiente 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

->

o

- >>

Asignación derecha llamada
c(3,1,TRUE,2+3i) -> v1
c(3,1,TRUE,2+3i) ->> v2 
print(v1)
print(v2)

produce el siguiente resultado:

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

Operadores varios

Estos operadores se utilizan para fines específicos y no para cálculos matemáticos o lógicos generales.

Operador Descripción Ejemplo
: Operador de colon. Crea la serie de números en secuencia para un vector.
v <- 2:8
print(v)

produce el siguiente resultado:

[1] 2 3 4 5 6 7 8
%en% Este operador se utiliza para identificar si un elemento pertenece a un vector.
v1 <- 8
v2 <- 12
t <- 1:10
print(v1 %in% t) 
print(v2 %in% t)

produce el siguiente resultado:

[1] TRUE
[1] FALSE
% *% Este operador se utiliza para multiplicar una matriz con su transposición.
M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = TRUE)
t = M %*% t(M)
print(t)

produce el siguiente resultado:

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