Named List in R Programming - GeeksforGeeks

22 Jun, 2020
A list is an object in R Language which consists of heterogeneous elements. A list can even contain matrices, data frames, or functions as its elements. The list can be created using list() function in R. Named list is also created with the same function by specifying the names of the elements to access them. Named list can also be created using names() function to specify the names of elements after defining the list. In this article, we’ll learn to create named list in R using two different methods and different operations that can be performed on named lists.
Syntax: names(x) <- value
Parameters:x: represents an R objectvalue: represents names that has to be given to elements of x object
A Named list can be created by two methods. The first one is by allocating the names to the elements while defining the list and another method is by using names() function.
Example 1:In this example, we are going to create a named list without using names() function.
# Defining a list with namesx <- list(mt = matrix(1:6, nrow = 2),          lt = letters[1:8],          n = c(1:10))  # Print whole listcat("Whole List:\n")print(x)
Output:
Whole List:
$mt
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

$lt
[1] "a" "b" "c" "d" "e" "f" "g" "h"

$n
 [1]  1  2  3  4  5  6  7  8  9 10

Example 2:In this example, we are going to define the names of elements of the list using names() function after defining the list.
# Defining listx <- list(matrix(1:6, nrow = 2),          letters[1:8],          c(1:10))  # Print whole listcat("Whole list:\n")print(x)
Output:
Whole list:
[[1]]
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

[[2]]
[1] "a" "b" "c" "d" "e" "f" "g" "h"

[[3]]
 [1]  1  2  3  4  5  6  7  8  9 10

Components of a named list can be easily accessed by $ operator.
Example:
# Defining a list with namesx <- list(mt = matrix(1:6, nrow = 2),          lt = letters[1:8],          n = c(1:10))  # Print list elements using the names given# Prints element of the list named "mt"cat("Element named 'mt':\n")print(x$mt)cat("\n")  # Print element of the list named "n"cat("Element named 'n':\n")print(x$n)
Output:
Element named 'mt':
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

Element named 'n':
 [1]  1  2  3  4  5  6  7  8  9 10

Components of named list can be modified by assigning new values to them.
Example:
# Defining a named listlt <- list(a = 1,           let = letters[1:8],           mt = matrix(1:6, nrow = 2))  cat("List before modifying:\n")print(lt)  # Modifying element named 'a'lt$a <- 5  cat("List after modifying:\n")print(lt)
Output:
List before modifying:
$a
[1] 1

$let
[1] "a" "b" "c" "d" "e" "f" "g" "h"

$mt
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

List after modifying:
$a
[1] 5

$let
[1] "a" "b" "c" "d" "e" "f" "g" "h"

$mt
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

To delete elements from named list, we’ll use within() function and the result will be assigned to the named list itself.
Example:
# Defining a named listlt <- list(a = 1,           let = letters[1:8],           mt = matrix(1:6, nrow = 2))  cat("List before deleting:\n")print(lt)  # Modifying element named 'a'lt <- within(lt, rm(a))  cat("List after deleting:\n")print(lt)
Output:
List before deleting:
$a
[1] 1

$let
[1] "a" "b" "c" "d" "e" "f" "g" "h"

$mt
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

List after deleting:
$let
[1] "a" "b" "c" "d" "e" "f" "g" "h"

$mt
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

Picked
R-List
R Language
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to Replace specific values in column in R DataFrame ?
Filter data by multiple conditions in R using Dplyr
Loops in R (for, while, repeat)
Change Color of Bars in Barchart using ggplot2 in R
How to change Row Names of DataFrame in R ?
Group by function in R using Dplyr
How to Change Axis Scales in R Plots?
Printing Output of an R Program
How to Split Column Into Multiple Columns in R DataFrame?
K-Means Clustering in R Programming