R Lists
R provides list() function to create lists. A list may contain different objects or we can also say that it can combine objects of different types like strings, integer, vectors, matrix. A list is a generic vector. A vector has all elements of the same type, but a list may contain elements of different types.
Creating a list
The following command generates a list that contains students data. In this, there are two vectors, a string and a boolean value.
x <- list(c(1, 3, 5), c('sophiya', 'somya', 'Jorz'), "IT", TRUE)
[[1]]
[1] 1 3 5
[[2]]
[1] "Sophiya" "Somya" "Jorz"
[[3]]
[1] "IT"
[[4]]
[1] TRUE
Give name to the list element
We can give a particular name to each of the list elements with help of names() function, for example -
x <- list(c(1, 3, 5), c('sophiya', 'somya', 'Jorz'), "IT")
names(x) <- c("id", "name", "Department")
print(x)
Access element of list
A list element can be accessed by its index. It starts with index 1 unlike in other programming language element starts with 0 index. We can use the [ ] brackets for indexing.
print(x[1])
[[1]]
[1] 1 3 5
Add element to an existing list
Suppose, we have the following lists.
x <- list(c(1, 3, 5), c('sophiya', 'somya', 'Jorz'), "IT", TRUE)
We can add a new element to the end of the list either by assigning the new value to list index (increase one to the last index) or by giving a name to the new index. The below list contains student's data. We add a new list element of name gender.
x <- list(c(1, 3, 5), c('sophiya', 'somya', 'Jorz'), "IT", TRUE)
x$gender <- c('F', 'F', 'M')
print(x)
[[1]]
[1] 1 3 5
[[2]]
[1] "Sophiya" "Somya" "Jorz"
[[3]]
[1] "IT"
[[4]]
[1] TRUE
$gender
[1] "F" "F" "M"
We can also add an element to the list by using the index. like -
x[6] <- c(F, F, M)
x
Get length of a list
In R, the length() function returns the length of a list.
length(x)
[1] 5
Delete list element
To delete a list element, simply assign it to a null value.
x[5] <- NULL
x
[[1]]
[1] 1 3 5
[[2]]
[1] "Sophiya" "Somya" "Jorz"
[[3]]
[1] "IT"
[[4]]
[1] TRUE
Update list element
To modify a list element, simply assign the element index with new value with the help of assignment operator. In the below example, we modify the third list element.
x <- list(c(1, 3, 5), c('sophiya', 'somya', 'Jorz'), "IT", TRUE)
x[3] <- "Mech"
print(x)