CNC | C | C++ | Assembly | Python | R | Rust | Arduino | Solidworks | Embedded Systems

# R - Operators

An operator is a symbol that tells the compiler to perform specific mathematical or logical manipulations. R language is rich in built-in operators and provides following types of operators.

## Types of Operators

We have the following types of operators in R programming −
• Arithmetic Operators
• Relational Operators
• Logical Operators
• Assignment Operators
• Miscellaneous Operators

## Arithmetic Operators

Following table shows the arithmetic operators supported by R language. The operators act on each element of the vector.
OperatorDescriptionExample
```v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v+t)
```
it produces the following result −
```[1] 10.0  8.5  10.0
```
Subtracts second vector from the first
```v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v-t)
```
it produces the following result −
```[1] -6.0  2.5  2.0
```
*Multiplies both vectors
```v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v*t)
```
it produces the following result −
```[1] 16.0 16.5 24.0
```
/Divide the first vector with the second
```v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v/t)
```
When we execute the above code, it produces the following result −
```[1] 0.250000 1.833333 1.500000
```
%%Give the remainder of the first vector with the second
```v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v%%t)
```
it produces the following result −
```[1] 2.0 2.5 2.0
```
%/%The result of division of first vector with second (quotient)
```v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v%/%t)
```
it produces the following result −
```[1] 0 1 1
```
^The first vector raised to the exponent of second vector
```v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v^t)
```
it produces the following result −
```[1]  256.000  166.375 1296.000
```

## Relational Operators

Following table shows the relational operators supported by R language. Each element of the first vector is compared with the corresponding element of the second vector. The result of comparison is a Boolean value.
OperatorDescriptionExample
>Checks if each element of the first vector is greater than the corresponding element of the second vector.
```v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v>t)
```
it produces the following result −
```[1] FALSE  TRUE FALSE FALSE
```
<Checks if each element of the first vector is less than the corresponding element of the second vector.
```v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v < t)
```
it produces the following result −
```[1]  TRUE FALSE  TRUE FALSE
```
==Checks if each element of the first vector is equal to the corresponding element of the second vector.
```v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v == t)
```
it produces the following result −
```[1] FALSE FALSE FALSE  TRUE
```
<=Checks if each element of the first vector is less than or equal to the corresponding element of the second vector.
```v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v<=t)
```
it produces the following result −
```[1]  TRUE FALSE  TRUE  TRUE
```
>=Checks if each element of the first vector is greater than or equal to the corresponding element of the second vector.
```v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v>=t)
```
it produces the following result −
```[1] FALSE  TRUE FALSE  TRUE
```
!=Checks if each element of the first vector is unequal to the corresponding element of the second vector.
```v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v!=t)
```
it produces the following result −
```[1]  TRUE  TRUE  TRUE FALSE
```

## Logical Operators

Following table shows the logical operators supported by R language. It is applicable only to vectors of type logical, numeric or complex. All numbers greater than 1 are considered as logical value TRUE.
Each element of the first vector is compared with the corresponding element of the second vector. The result of comparison is a Boolean value.
OperatorDescriptionExample
&It is called Element-wise Logical AND operator. It combines each element of the first vector with the corresponding element of the second vector and gives a output TRUE if both the elements are TRUE.
```v <- c(3,1,TRUE,2+3i)
t <- c(4,1,FALSE,2+3i)
print(v&t)
```
it produces the following result −
```[1]  TRUE  TRUE FALSE  TRUE
```
|It is called Element-wise Logical OR operator. It combines each element of the first vector with the corresponding element of the second vector and gives a output TRUE if one the elements is TRUE.
```v <- c(3,0,TRUE,2+2i)
t <- c(4,0,FALSE,2+3i)
print(v|t)
```
it produces the following result −
```[1]  TRUE FALSE  TRUE  TRUE
```
!It is called Logical NOT operator. Takes each element of the vector and gives the opposite logical value.
```v <- c(3,0,TRUE,2+2i)
print(!v)
```
it produces the following result −
```[1] FALSE  TRUE FALSE FALSE
```
The logical operator && and || considers only the first element of the vectors and give a vector of single element as output.
OperatorDescriptionExample
&&Called Logical AND operator. Takes first element of both the vectors and gives the TRUE only if both are TRUE.
```v <- c(3,0,TRUE,2+2i)
t <- c(1,3,TRUE,2+3i)
print(v&&t)
```
it produces the following result −
```[1] TRUE
```
||Called Logical OR operator. Takes first element of both the vectors and gives the TRUE if one of them is TRUE.
```v <- c(0,0,TRUE,2+2i)
t <- c(0,3,TRUE,2+3i)
print(v||t)
```
it produces the following result −
```[1] FALSE
```

## Assignment Operators

These operators are used to assign values to vectors.
OperatorDescriptionExample
<−
or
=
or
<<−
Called Left Assignment
```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)
```
it produces the following result −
```[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
```
->
or
->>
Called Right Assignment
```c(3,1,TRUE,2+3i) -> v1
c(3,1,TRUE,2+3i) ->> v2
print(v1)
print(v2)
```
it produces the following result −
```[1] 3+0i 1+0i 1+0i 2+3i
[1] 3+0i 1+0i 1+0i 2+3i
```

## Miscellaneous Operators

These operators are used to for specific purpose and not general mathematical or logical computation.
OperatorDescriptionExample
:Colon operator. It creates the series of numbers in sequence for a vector.
```v <- 2:8
print(v)
```
it produces the following result −
```[1] 2 3 4 5 6 7 8
```
%in%This operator is used to identify if an element belongs to a vector.
```v1 <- 8
v2 <- 12
t <- 1:10
print(v1 %in% t)
print(v2 %in% t)
```
it produces the following result −
```[1] TRUE
[1] FALSE
```
%*%This operator is used to multiply a matrix with its transpose.
```M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = TRUE)
t = M %*% t(M)
print(t)
```
it produces the following result −
```      [,1] [,2]
[1,]   65   82
[2,]   82  117
```

1. R - Overview
2. R - Environment Setup
3. R - Basic Syntax
4. R - Data Types
5. R - Variables
6. R - Operators
7. R - Decision Making
8. R - Loops
9. R - Functions
10. R - Strings
11. R - Vectors
12. R - Matrices
13. R - Arrays
14. R - Factors
15. R - Data Frames
16. R - Packages
17. R - Data Reshaping
18. R - CSV Files
19. R - Excel Files
20. R - Binary Files
21. R - XML Files
22. R - JSON Files
23. R - Web Data
24. R - Database
25. R - Pie Charts
26. R - Bar Charts
27. R - Boxplots
28. R - Histograms
29. R - Line Graphs
30. R - Scatterplots
31. R - Mean, Median and Mode
32. R - Linear Regression
33. R - Multiple Regression
34. R - Logistic Regression
35. R - Normal Distribution
36. R - Binomial Distribution
37. R - Poisson Regression
38. R - Analysis of Covariance
39. R - Time Series Analysis
40. R - Nonlinear Least Square
41. R - Decision Tree
42. R - Random Forest
43. R - Survival Analysis
44. R - Chi Square Tests