# R Lists

In R, lists are the second type of vector. Lists are the objects of R which contain elements of different types such as number, vectors, string and another list inside it. It can also contain a function or a matrix as its elements. A list is a data structure which has components of mixed data types. We can say, a list is a generic vector which contains other objects.

### Example

Output:

```[]
 3 4 5 6
[]
 "shubham" "nishka"  "gunjan"  "sumit"
[]
  TRUE FALSE FALSE  TRUE
``` ## Lists creation

The process of creating a list is the same as a vector. In R, the vector is created with the help of c() function. Like c() function, there is another function, i.e., list() which is used to create a list in R. A list avoid the drawback of the vector which is data type. We can add the elements in the list of different data types.

Syntax

Example 1: Creating list with same data type

Output:

```[]
 1
[]
 2
[]
 3

[]
 "Shubham"
[]
 "Arpita"
[]
 "Vaishali"

[]
 1 2 3

[]
 TRUE
[]
 FALSE
[]
 TRUE
```

Example 2: Creating the list with different data type

In the above example, the list function will create a list with character, logical, numeric, and vector element. It will give the following output

Output:

```[]
 "Shubham"
[]
 "Arpita"
[]
 1 2 3 4 5
[]
 TRUE
[]
 FALSE
[]
 22.5
[]
 12
```

## Giving a name to list elements

R provides a very easy way for accessing elements, i.e., by giving the name to each element of a list. By assigning names to the elements, we can access the element easily. There are only three steps to print the list data corresponding to the name:

1. Creating a list.
2. Assign a name to the list elements with the help of names() function.
3. Print the list data.

Let see an example to understand how we can give the names to the list elements.

Example

Output:

```\$Students
 "Shubham" "Nishka"  "Gunjan"

\$Marks
[,1] [,2] [,3]
[1,]   40   60   90
[2,]   80   70   80

\$Course
\$Course[]
 "BCA"

\$Course[]
 "MCA"

\$Course[]
 "B. tech."
```

## Accessing List Elements

R provides two ways through which we can access the elements of a list. First one is the indexing method performed in the same way as a vector. In the second one, we can access the elements of a list with the help of names. It will be possible only with the named list.; we cannot access the elements of a list using names if the list is normal. Let see an example of both methods to understand how they are used in the list to access elements.

Example 1: Accessing elements using index

Output:

```[]
 "Shubham" "Arpita"  "Nishka"

[]
[][]
 "BCA"

[][]
 "MCA"

[][]
 "B.tech"
```

Example 2: Accessing elements using names

Output:

```\$Student
 "Shubham" "Arpita"  "Nishka"

[,1] [,2] [,3]
[1,]   40   60   90
[2,]   80   70   80

\$Student
 "Shubham" "Arpita"  "Nishka"

\$Marks
[,1] [,2] [,3]
[1,]   40   60   90
[2,]   80   70   80

\$Course
\$Course[]
 "BCA"
\$Course[]
 "MCA"
\$Course[]
 "B. tech."
```

## Manipulation of list elements

R allows us to add, delete, or update elements in the list. We can update an element of a list from anywhere, but elements can add or delete only at the end of the list. To remove an element from a specified index, we will assign it a null value. We can update the element of a list by overriding it from the new value. Let see an example to understand how we can add, delete, or update the elements in the list.

Example

Output:

```[]

\$<NA>
NULL

\$Course
 "Masters of computer applications"
```

## Converting list to vector

There is a drawback with the list, i.e., we cannot perform all the arithmetic operations on list elements. To remove this, drawback R provides unlist() function. This function converts the list into vectors. In some cases, it is required to convert a list into a vector so that we can use the elements of the vector for further manipulation.

The unlist() function takes the list as a parameter and change into a vector. Let see an example to understand how to unlist() function is used in R.

Example

Output:

```[]
 1 2 3 4 5

[]
 10 11 12 13 14

 1 2 3 4 5
 10 11 12 13 14
 11 13 15 17 19
```

## Merging Lists

R allows us to merge one or more lists into one list. Merging is done with the help of the list() function also. To merge the lists, we have to pass all the lists into list function as a parameter, and it returns a list which contains all the elements which are present in the lists. Let see an example to understand how the merging process is done.

Example

Output:

```[]
[][]
 2

[][]
 4

[][]
 6

[][]
 8

[][]
 10

[]
[][]
 1

[][]
 3

[][]
 5

[][]
 7

[][]
 9
```

Next TopicR Arrays    