A vector is a basic data structure which plays an important role in R programming.
In R, a sequence of elements which share the same data type is known as vector. A vector supports logical, integer, double, character, complex, or raw data type. The elements which are contained in vector known as components of the vector. We can check the type of vector with the help of the typeof() function.
The length is an important property of a vector. A vector length is basically the number of elements in the vector, and it is calculated with the help of the length() function.
Vector is classified into two parts, i.e., Atomic vectors and Lists. They have three common properties, i.e., function type, function length, and attribute function.
There is only one difference between atomic vectors and lists. In an atomic vector, all the elements are of the same type, but in the list, the elements are of different data types. In this section, we will discuss only the atomic vectors. We will discuss lists briefly in the next topic.
How to create a vector in R?
In R, we use c() function to create a vector. This function returns a one-dimensional array or simply vector. The c() function is a generic function which combines its argument. All arguments are restricted with a common data type which is the type of the returned value. There are various other ways to create a vector in R, which are as follows:
1) Using the colon(:) operator
We can create a vector with the help of the colon operator. There is the following syntax to use colon operator:
This operator creates a vector with elements from x to y and assigns it to z.
 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10
2) Using the seq() function
In R, we can create a vector with the help of the seq() function. A sequence function creates a sequence of elements as a vector. The seq() function is used in two ways, i.e., by setting step size with ?by' parameter or specifying the length of the vector with the 'length.out' feature.
 1.0 1.5 2.0 2.5 3.0 3.5 4.0
 1.0 1.6 2.2 2.8 3.4 4.0  "numeric"
Atomic vectors in R
In R, there are four types of atomic vectors. Atomic vectors play an important role in Data Science. Atomic vectors are created with the help of c() function. These atomic vectors are as follows:
The decimal values are known as numeric data types in R. If we assign a decimal value to any variable d, then this d variable will become a numeric type. A vector which contains numeric elements is known as a numeric vector.
 45.5  10.1 10.2 33.2  "numeric"  "numeric"
A non-fraction numeric value is known as integer data. This integer data is represented by "Int." The Int size is 2 bytes and long Int size of 4 bytes. There is two way to assign an integer value to a variable, i.e., by using as.integer() function and appending of L to the value.
A vector which contains integer elements is known as an integer vector.
 "integer"  "integer"  "integer"  "integer"
A character is held as a one-byte integer in memory. In R, there are two different ways to create a character data type value, i.e., using as.character() function and by typing string between double quotes("") or single quotes('').
A vector which contains character elements is known as an integer vector.
 "shubham"  "Arpita"  "65"  "1" "2" "3" "4" "5"  "shubham" "arpita" "nishka" "vaishali"  "character"  "character"  "character"  "character"  "character"
The logical data types have only two values i.e., True or False. These values are based on which condition is satisfied. A vector which contains Boolean values is known as the logical vector.
 FALSE  TRUE  TRUE TRUE FALSE TRUE FALSE FALSE  "logical"  "logical"  "logical"
Accessing elements of vectors
We can access the elements of a vector with the help of vector indexing. Indexing denotes the position where the value in a vector is stored. Indexing will be performed with the help of integer, character, or logic.
1) Indexing with integer vector
On integer vector, indexing is performed in the same way as we have applied in C, C++, and java. There is only one difference, i.e., in C, C++, and java the indexing starts from 0, but in R, the indexing starts from 1. Like other programming languages, we perform indexing by specifying an integer value in square braces  next to our vector.
 1.0 1.6 2.2 2.8 3.4 4.0  1.6
2) Indexing with a character vector
In character vector indexing, we assign a unique key to each element of the vector. These keys are uniquely defined as each element and can be accessed very easily. Let's see an example to understand how it is performed.
shubham arpita vaishali 22 23 25 arpita 23
3) Indexing with a logical vector
In logical indexing, it returns the values of those positions whose corresponding position has a logical vector TRUE. Let see an example to understand how it is performed on vectors.
 1 3 4 6
In R, there are various operation which is performed on the vector. We can add, subtract, multiply or divide two or more vectors from each other. In data science, R plays an important role, and operations are required for data manipulation. There are the following types of operation which are performed on the vector.
1) Combining vectors
The c() function is not only used to create a vector, but also it is also used to combine two vectors. By combining one or more vectors, it forms a new vector which contains all the elements of each vector. Let see an example to see how c() function combines the vectors.
 "1" "2" "4" "5" "7" "8"  "shubham" "arpita" "nishka" "gunjan" "vaishali" "sumit"
2) Arithmetic operations
We can perform all the arithmetic operation on vectors. The arithmetic operations are performed member-by-member on vectors. We can add, subtract, multiply, or divide two vectors. Let see an example to understand how arithmetic operations are performed on vectors.
 3 7 11 15  -1 -1 -1 -1  2 12 30 56  0.5000000 0.7500000 0.8333333 0.8750000  1 3 5 7
3) Logical Index vector
With the help of the logical index vector in R, we can form a new vector from a given vector. This vector has the same length as the original vector. The vector members are TRUE only when the corresponding members of the original vector are included in the slice; otherwise, it will be false. Let see an example to understand how a new vector is formed with the help of logical index vector.
 "Shubham" "Nishka" "Vaishali"
4) Numeric Index
In R, we specify the index between square braces [ ] for indexing a numerical value. If our index is negative, it will return us all the values except for the index which we have specified. For example, specifying [-3] will prompt R to convert -3 into its absolute value and then search for the value which occupies that index.
 "arpita"  "shubham" "arpita" "nishka" "vaishali" "sumit"  NA
5) Duplicate Index
An index vector allows duplicate values which means we can access one element twice in one operation. Let see an example to understand how duplicate index works.
 "arpita" "gunjan" "gunjan" "nishka"
6) Range Indexes
Range index is used to slice our vector to form a new vector. For slicing, we used colon(:) operator. Range indexes are very helpful for the situation involving a large operator. Let see an example to understand how slicing is done with the help of the colon operator to form a new vector.
 "arpita" "nishka" "gunjan" "vaishali"
7) Out-of-order Indexes
In R, the index vector can be out-of-order. Below is an example in which a vector slice with the order of first and second values reversed.
 "arpita" "shubham" "nishka" "gunjan" "vaishali" "sumit"
8) Named vectors members
We first create our vector of characters as:
 "TensorFlow" "PyTorch"
Once our vector of characters is created, we name the first vector member as "Start" and the second member as "End" as:
Start End "TensorFlow" "PyTorch"
We retrieve the first member by its name as follows:
We can reverse the order with the help of the character string index vector.
Second First "PyTorch" "TensorFlow"
Applications of vectors