The example below shows the usage of addition(+) operator in different scenarios.

If a scalar (single element atomic vector) is added to a vector or a matrix, it is added to each element of the vector or matrix.

#first operand
x1 <- 10
v1 <- c(10, 20, 30)
m1 <- matrix(c(10, 20, 30, 40, 50, 60), nrow=2)

#second operand
x2 <- 5

print(x1 + x2)
#adding a scalar with a vector
print(v1 + x2)
#adding a scalar with a matrix
cat("\n")
print(m1 + x2)

The output of the above code will be:

 15
 15 25 35

[,1] [,2] [,3]
[1,]   15   35   55
[2,]   25   45   65

When two vectors are added, their length should be same or length of longer vector should be multiple of length of shorter vector. Similarly, when a vector is added to a matrix, the length of longer object should be multiple of length of shorter object.

#first operand
x1 <- 10
v1 <- c(10, 20, 30)
m1 <- matrix(c(10, 20, 30, 40, 50, 60), nrow=2)

#second operand
v2 <- c(5, 6, 7)

#atomic vector) and a vector
print(x1 + v2)
print(v1 + v2)
#adding a matrix and a vector
cat("\n")
print(m1 + v2)

The output of the above code will be:

 15 16 17
 15 26 37

[,1] [,2] [,3]
[1,]   15   37   56
[2,]   26   45   67

When two matrices are added, their dimension should be same or dimension of bigger matrix should be multiple of dimension of smaller matrix.

#first operand
x1 <- 10
v1 <- c(10, 20, 30)
m1 <- matrix(c(10, 20, 30, 40, 50, 60), nrow=2)

#second operand
m2 <- matrix(c(1, 2, 3, 4, 5, 6), nrow=2)

#atomic vector) and a matrix
print(x1 + m2)
#adding a vector and a matrix
cat("\n")
print(v1 + m2)
cat("\n")
print(m1 + m2)

The output of the above code will be:

[,1] [,2] [,3]
[1,]   11   13   15
[2,]   12   14   16

[,1] [,2] [,3]
[1,]   11   33   25
[2,]   22   14   36

[,1] [,2] [,3]
[1,]   11   33   55
[2,]   22   44   66

❮ R - Operators

5