A vector is a primary data type in R that contains elements of the same type. Vector has a property length through which you can count the number of elements in the vector.
To check the vector’s data type, use typeof() function.
How to Create Vector in R
To create a Vector in R, use the c() function.
rv <- c(1, 2, 3)
In the above snippet, we have created a Vector using the c() method, which contains three elements and assigns it to the rv variable. Remember, any vector in R must-have elements of the same type.
Arithmetic operations of vectors can be performed on member-by-member(i.e., member-wise). For example, if you want to multiply each element by 5, you can use the following method.
# Pro.R app.numbers <- c(1:10) double.numbers <- app.numbers * 2 cat(double.numbers)
➜ R Rscript Pro.R 2 4 6 8 10 12 14 16 18 20
In this example, we have defined a vector and then multiply the vector by 2. What R does behind the scenes because it will take each element of the vector and multiply it by 2 and return the vector.
To print the output, we have used the cat() function. The cat() function converts its arguments to character strings, concatenates them, separating them by the given sep= string, and then prints them.
Vector Math in R
Vector Math means we should be able to perform mathematical operations on vectors in R.
Let’s define two vectors and perform the addition operation.
# Pro.R vcA <- c(11, 21, 19) vcB <- c(6, 18, 46) summation <- vcA + vcB cat(summation)
➜ R Rscript Pro.R 17 39 65
The output here is the vector, which is the sum of the corresponding elements of two vectors vcA and vcB.
Subtraction in R Vector
We can perform the subtraction the same way we have performed the vector addition.
vcA <- c(11, 21, 19) vcB <- c(6, 18, 46) subtract <- vcA - vcB cat(subtract)
➜ R Rscript Pro.R 5 3 -27
Division in R Vector
To perform division operation in R vector, use the following code.
# Pro.R vcA <- c(10, 20, 30) vcB <- c(2, 4, 6) subtract <- vcA / vcB cat(subtract)
➜ R Rscript Pro.R 5 5 5
If two vectors are of unequal length, the shorter one will be recycled to match the longer vector.
For example, the following vectors vcA and vcB have different lengths, and their sum is computed by recycling values of the shorter vector vcA. Let’s understand with an example.
# Pro.R vcA <- c(10, 20, 30) vcB <- c(2, 4, 6, 8, 10, 12) summation <- vcA + vcB cat(summation)
➜ R Rscript Pro.R 12 24 36 18 30 42
Here you can see that the first three values of the output are normal, but from the 4th value, it will take the 1st value of the vcA vector for addition and the 4th value of the vcB vector, and their sum is 18. (10 + 8).
For the fifth value of the output, it will take the 2nd value of the 1st vector and 5th value of the 2nd vector. The 2nd of vcA is 20, and the 5th of vcB is 10. So the addition is (10 + 20 = 30). And the same calculation for the last element of the output.
Please note that, If the first vector is smaller than the second vector, then the second vector’s length is multiple of the first vector. Otherwise, the imbalance will be created, and R will throw a warning. Let’s understand the following code.
vcA <- c(10, 20, 30) vcB <- c(2, 4, 6, 8, 10, 12, 14) summation <- vcA + vcB cat(summation)
➜ R Rscript Pro.R Warning message: In vcA + vcB : longer object length is not a multiple of shorter object length 12 24 36 18 30 42 24
You can see that the R interpreter throws the following warning.
“longer object length is not a multiple of shorter object length.“
That means longer vector length is not a multiple of shorter vector length. In our case, the longer vector is vcB, whose length is 7, and the shorter vector length is vcA, whose vector length is 3.
So, the longer vector length should be one of the 3, 6, 9, 12, 15, …, and so on. It should be in multiples of 3.
That is it for Vector Math in R Programming Language.
Krunal Lathiya is an Information Technology Engineer by education and web developer by profession. He has worked with many back-end platforms, including Node.js, PHP, and Python. In addition, Krunal has excellent knowledge of Data Science and Machine Learning, and he is an expert in R Language. Krunal has written many programming blogs, which showcases his vast expertise in this field.