Open In App

Create, Append and Modify List in R

Last Updated : 30 Jun, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

In R Programming Language, the list is a one dimensional data structure which can hold multiple data type elements. In this article, we are going to create a list and append data into the list and modify the list elements.

Creating a list

List can be created by using list() function.

Syntax:

list(value1,value2,………….,valuen)

where values are the inputs to the list.

Example :

R




# vector with names
names=c("bobby","pinkey","rohith","gnanu")
 
# vector with marks
marks=c(78,90,100,100)
 
# address vector
address=c("kakumanu","hyd","hyd","hyd")
 
# pass these vectors as inputs to the list
# address vector
student=list(names,marks,address)
print(student)


Output:

Appending Data to the List

Appending to a list means adding a value to the last of an already existing list. We are going to append two lists by using append() function

Syntax:

append(list1,list2)

Example:

R




# vector with names
names=c("bobby","pinkey","rohith","gnanu")
 
# vector with marks
marks=c(78,90,100,100)
 
# address vector
address=c("kakumanu","hyd","hyd","hyd")
 
# college values
college=c("vignan","vignan","vignan","vignan")
 
# pass these vectors as inputs to the list
student1=list(student1_names=names,student1_marks=marks,
              student1_address=address,student1_college=college)
 
# vector with names
names=c("ravi","devi","siree","priyank")
 
# vector with marks
marks=c(78,90,100,100)
 
# address vector
address=c("hyd","hyd","hyd","hyd")
 
# college values
college=c("vvit","vvit","vvit","vvit")
 
# pass these vectors as inputs to the list
# address vector
student2=list(student2_names=names,student2_marks=marks,
              student2_address=address,student2_college=college)
 
# append list 1 and list 2
print(append(student1,student2))


Output:

We can also append single column in one dataframe to another using $ operator.

Syntax:

append(dataframe1$columnname,dataframe2$columnname)

Program:

R




# vector with names
names=c("bobby","pinkey","rohith","gnanu")
 
# vector with marks
marks=c(78,90,100,100)
 
# address vector
address=c("kakumanu","hyd","hyd","hyd")
 
# college values
college=c("vignan","vignan","vignan","vignan")
 
# pass these vectors as inputs to the list
student1=list(student1_names=names,student1_marks=marks,
              student1_address=address,student1_college=college)
 
# vector with names
names=c("ravi","devi","siree","priyank")
 
# vector with marks
marks=c(78,90,100,100)
 
# address vector
address=c("hyd","hyd","hyd","hyd")
 
# college values
college=c("vvit","vvit","vvit","vvit")
 
# pass these vectors as inputs to the list
# address vector
student2=list(student2_names=names,student2_marks=marks,
              student2_address=address,student2_college=college)
 
# append list 1 - student marks and list 2 - student marks
print(append(student1$student1_marks,student2$student2_marks))


Output:

[1]  78  90 100 100  78  90 100 100

Modifying the list elements

Modifying a list means changing the initial representation of the list that can include operations like changing or updating values and deleting. We can modify the list elements using index operator.

index operator:

 [[]]

Syntax:

list_name[[n]]=”new_element_name

where n is the index value

Example:

R




# vector with names
names=c("bobby","pinkey","rohith","gnanu")
 
# vector with marks
marks=c(78,90,100,100)
 
# address vector
address=c("kakumanu","hyd","hyd","hyd")
 
# college values
college=c("vignan","vignan","vignan","vignan")
 
# pass these vectors as inputs to the list
student1=list(names,marks,address,college)
 
# display 1 st row 2 nd element
print(paste("1 st one - 2 nd element is : ",student1[[1]][2]))
 
# modify pinky to gajji
student1[[1]][2]="gajji"
print(paste("Modified 1 st one - 2 nd element is : ",student1[[1]][2]))


Output:

[1] "1 st one - 2 nd element is :  pinkey"
[1] "Modified 1 st one - 2 nd element is :  gajji"

We can also modify whole index at a time,

Example:

R




# vector with names
names=c("bobby","pinkey","rohith","gnanu")
# vector with marks
marks=c(78,90,100,100)
# address vector
address=c("kakumanu","hyd","hyd","hyd")
# college values
college=c("vignan","vignan","vignan","vignan")
# pass these vectors as inputs to the list
student1=list(names,marks,address,college)
 
# display 2 nd index
print(paste("2 nd index elements are : ",student1[[2]]))
# modify the whole content of 2 nd index
student1[[2]]=c(45,56,54,45)
 
print(paste("Modified 2 nd index elements are : ",student1[[2]]))


Output:

Modification includes deletion also. We can delete particular element from the list by assigning list index with NULL operator.

Syntax:

list_name[[index_number]]=NULL

Example:

R




# vector with names
names=c("bobby","pinkey","rohith","gnanu")
 
# vector with marks
marks=c(78,90,100,100)
 
# address vector
address=c("kakumanu","hyd","hyd","hyd")
 
# college values
college=c("vignan","vignan","vignan","vignan")
 
# pass these vectors as inputs to the list
student1=list(names,marks,address,college)
 
# deleting first item IE names vector
student1[[1]]=NULL
 
# display list
print(student1)


Output:



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads