# R Vectors

Vector is a sequence of data elements of the same type. It is a one dimensional array. Members of a vector are known as components.

There are five classes of vectors:

• Numeric
• Integer
• Complex
• Logical
• Character

Creating a Vector

Single element vector

In R, when you write just one value, it is considered as a vector of length 1. Let’s see the different type of vectors with a single element:

```# character.
print("Hello")
# double.
print(24.6)
# integer.
print(24L)
# logical.
print(TRUE)
# complex.
print(1+5i)```

Output:

``` "Hello"
 24.6
 24
 TRUE
 1+5i```

Multiple elements vector

We can create a vector of consecutive numbers through the:

1. colon operator (:)

Example:

```> x <- 1:7
> x
 1 2 3 4 5 6 7```
2. Using sequence operator (seq.)

Example:

```# specify step size
seq(1, 8, by= 2)
#specify length of the vector
seq(1, 5, length.out=9)```

Output:

``` 1 3 5 7
 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0```
3. Using the c() function

Example:

```# logical and numeric values are converted to characters.
s <- c('hello','red', 10, TRUE)
print(s)```

Output:

` "hello" "red"   "10"    "TRUE"`

Accessing vector elements

We can access the elements of a vector with the help of indexing. For indexing, we have to use the [] brackets. Each indexing starts with position one. 0, 1 TRUE and FALSE can also be used for indexing. The indexing vector can be logical, integer or character.

Example:

```# Accessing vector elements with the help of position.
w <- c("Sun","Mon","Tue","Wed","Thu","Fri","Sat")
u <- w[c(2,4,6)]
print(u)
# Accessing vector elements with the help of logical indexing.
v <- w[c(TRUE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE)]
print(v)
# Accessing vector elements with the help of negative indexing.
x <- w[c(-2,-5)]
print(x)
# Accessing vector elements with the help of 0/1 indexing.
y <- w[c(0,0,0,0,0,0,1)]
print(y)```

Output:

``` "Mon" "Wed" "Fri"
 "Sun" "Fri"
 "Sun" "Tue" "Wed" "Fri" "Sat"
 "Sun"```

Vector Operations

1. Vector Arithmetic

We can perform addition, subtraction, multiplication, and division operation with the two vectors of the same length. the result will be a vector.

Example:

```# Create two vectors.
v1 <- c(12,1,0,5,4,2)
v2 <- c(10,4,3,1,2,0)
# subtraction.
sub.result <- v1-v2
print(sub.result)
# multiplication.
multi.result <- v1*v2
print(multi.result)
# division.
divi.result <- v1/v2
print(divi.result)```

Output:

``` 22  5  3  6  6  2
  2 -3 -3  4  2  2
 120   4   0   5   8   0
 1.20 0.25 0.00 5.00 2.00  Inf```
2. Combining Vectors

Example:

```n = c (10, 13, 24)
s = c('Nikita', 'Nidhi', 'Deep')
c(n, s)```

Output:

` "10"     "13"     "24"     "Nikita" "Nidhi"  "Deep"`
3. Sorting a Vector

We can sort the elements of a vector through the sort() function.

```v <- c(13, 80, 14, 50, 0, 11, -19, 100)
# Sort the elements of the vector.
sort.result <- sort(v)
print(sort.result)
# Sort the elements in the reverse order.
revsort.result <- sort(v, decreasing = TRUE)
print(revsort.result)
# Sorting character vectors.
v <- c("Nikita","Deep","Ridhi","Aman")
sort.result <- sort(v)
print(sort.result)
# Sorting character vectors in reverse order.
revsort.result <- sort(v, decreasing = TRUE)
print(revsort.result)```

Output:

``` -19   0  11  13  14  50  80 100
 100  80  50  14  13  11   0 -19
 "Aman"   "Deep"   "Nikita" "Ridhi"
 "Ridhi"  "Nikita" "Deep"   "Aman"```
4. Deleting a Vector

A vector can be deleted by simply assigning a NULL to it.

```# creating a vector
v <- c(13, 80, 14, 50, 0, 11, -19, 100)
v
# deleting vector v
v <- NULL
v```

Output:

```  13  80  14  50   0  11 -19 100
NULL```
Reference: https://www.datamentor.io/r-programming/vector/ https://data-flair.training/blogs/r-vector/