Convert Nested Lists to Dataframe in R

15 Nov, 2021
In this article, we will discuss how to Convert Nested Lists to Dataframe in R Programming Language.
It can be done with two methods:
Convert Nested lists to Data Frame by Column.
Convert Nested lists to Data Frame by Row.
First, let’s Create a nested list.
Code block
Output:
fig 1: Nested List
Method 1: To convert nested list to Data Frame by column.
Approach:
Create dataframe using data.frame function with the do.call and cbind.
cbind is used to bind the lists together by column into data frame.
do.call is used to bind the cbind and the nested list together as a single argument in the Data frame function.
Also, store the whole data frame in a variable named data_frame and print the variable.
Code:
R
# list() functions are used to create# the list and those list() functions# are put in another list() function to# make the nested listnested_list <- list(l1 = list(1:5, 5:1 ),                       l2 = list(100:105, 105:100 ),                       l3 = list(200:205, 205:200 )) # Convert nested list to data frame# by column with the help of cbind and do.calldata_frame <- as.data.frame(do.call(cbind, nested_list)) # Print data framedata_frame
Output:
             l1                           l2                           l3
1 1, 2, 3, 4, 5 100, 101, 102, 103, 104, 105 200, 201, 202, 203, 204, 205
2 5, 4, 3, 2, 1 105, 104, 103, 102, 101, 100 205, 204, 203, 202, 201, 200
Method 2: To convert nested list to Data Frame by row.
Approach:
Create dataframe using data.frame function with the do.call and rbind.
rbind is used to bind the lists together by row into data frame.
do.call is used to bind the rbind and the nested list together as a single argument in the Data frame function.
Also, store the whole data frame in a variable named data_frame and print the variable.
Code:
R
# list() functions are used to create# the list and those list() functions# are put in another list() function to# make the nested listnested_list <- list(l1 = list(1:5, 5:1 ),                       l2 = list(100:105, 105:100 ),                       l3 = list(200:205, 205:200 ))# print the nested listnested_list # Convert nested list to data frame by row# with the help of rbind and do.calldata_frame <- as.data.frame(do.call(rbind, nested_list)) # Print data framedata_frame
 Output: 
                             V1                           V2
l1                1, 2, 3, 4, 5                5, 4, 3, 2, 1
l2 100, 101, 102, 103, 104, 105 105, 104, 103, 102, 101, 100
l3 200, 201, 202, 203, 204, 205 205, 204, 203, 202, 201, 200
kashishsoda
Picked
R DataFrame-Programs
R-DataFrame
R Language
R Programs
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Filter data by multiple conditions in R using Dplyr
How to Replace specific values in column in R DataFrame ?
Change Color of Bars in Barchart using ggplot2 in R
How to Split Column Into Multiple Columns in R DataFrame?
Printing Output of an R Program
How to Replace specific values in column in R DataFrame ?
How to Split Column Into Multiple Columns in R DataFrame?
How to change Row Names of DataFrame in R ?
How to filter R DataFrame by values in a column?
Remove rows with NA in one column of R DataFrame