Create, Append and Modify List in R - GeeksforGeeks

30 Jun, 2021
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.
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 namesnames=c("bobby","pinkey","rohith","gnanu") # vector with marksmarks=c(78,90,100,100) # address vectoraddress=c("kakumanu","hyd","hyd","hyd") # pass these vectors as inputs to the list# address vectorstudent=list(names,marks,address)print(student)
Output:
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 namesnames=c("bobby","pinkey","rohith","gnanu") # vector with marksmarks=c(78,90,100,100) # address vectoraddress=c("kakumanu","hyd","hyd","hyd") # college valuescollege=c("vignan","vignan","vignan","vignan") # pass these vectors as inputs to the liststudent1=list(student1_names=names,student1_marks=marks,              student1_address=address,student1_college=college) # vector with namesnames=c("ravi","devi","siree","priyank") # vector with marksmarks=c(78,90,100,100) # address vectoraddress=c("hyd","hyd","hyd","hyd") # college valuescollege=c("vvit","vvit","vvit","vvit") # pass these vectors as inputs to the list# address vectorstudent2=list(student2_names=names,student2_marks=marks,              student2_address=address,student2_college=college) # append list 1 and list 2print(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 namesnames=c("bobby","pinkey","rohith","gnanu") # vector with marksmarks=c(78,90,100,100) # address vectoraddress=c("kakumanu","hyd","hyd","hyd") # college valuescollege=c("vignan","vignan","vignan","vignan") # pass these vectors as inputs to the liststudent1=list(student1_names=names,student1_marks=marks,              student1_address=address,student1_college=college) # vector with namesnames=c("ravi","devi","siree","priyank") # vector with marksmarks=c(78,90,100,100) # address vectoraddress=c("hyd","hyd","hyd","hyd") # college valuescollege=c("vvit","vvit","vvit","vvit") # pass these vectors as inputs to the list# address vectorstudent2=list(student2_names=names,student2_marks=marks,              student2_address=address,student2_college=college) # append list 1 - student marks and list 2 - student marksprint(append(student1$student1_marks,student2$student2_marks))
Output:
[1]  78  90 100 100  78  90 100 100
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 namesnames=c("bobby","pinkey","rohith","gnanu") # vector with marksmarks=c(78,90,100,100) # address vectoraddress=c("kakumanu","hyd","hyd","hyd") # college valuescollege=c("vignan","vignan","vignan","vignan") # pass these vectors as inputs to the liststudent1=list(names,marks,address,college) # display 1 st row 2 nd elementprint(paste("1 st one - 2 nd element is : ",student1[[1]][2])) # modify pinky to gajjistudent1[[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 namesnames=c("bobby","pinkey","rohith","gnanu")# vector with marksmarks=c(78,90,100,100)# address vectoraddress=c("kakumanu","hyd","hyd","hyd")# college valuescollege=c("vignan","vignan","vignan","vignan")# pass these vectors as inputs to the liststudent1=list(names,marks,address,college) # display 2 nd indexprint(paste("2 nd index elements are : ",student1[[2]]))# modify the whole content of 2 nd indexstudent1[[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 namesnames=c("bobby","pinkey","rohith","gnanu") # vector with marksmarks=c(78,90,100,100) # address vectoraddress=c("kakumanu","hyd","hyd","hyd") # college valuescollege=c("vignan","vignan","vignan","vignan") # pass these vectors as inputs to the liststudent1=list(names,marks,address,college) # deleting first item IE names vectorstudent1[[1]]=NULL # display listprint(student1)
Output:
sweetyty
Picked
R-List
R Language
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Change Color of Bars in Barchart using ggplot2 in R
How to Change Axis Scales in R Plots?
Group by function in R using Dplyr
How to Split Column Into Multiple Columns in R DataFrame?
How to filter R DataFrame by values in a column?
Replace Specific Characters in String in R
How to filter R dataframe by multiple conditions?
R - if statement
How to import an Excel File into R ?
Time Series Analysis in R