将嵌套列表转换为 R 中的数据框
在本文中,我们将讨论如何在 R 编程语言中将嵌套列表转换为数据帧。
可以通过两种方法完成:
- 按列将嵌套列表转换为数据框。
- 按行将嵌套列表转换为数据帧。
首先,让我们创建一个嵌套列表。
代码块
输出:
方法1:按列将嵌套列表转换为Data Frame。
方法:
- 使用带有 do.call 和 cbind 的 data.frame函数创建数据框。
- cbind 用于将列表按列绑定到数据框中。
- do.call 用于将 cbind 和嵌套列表绑定在一起作为数据框函数的单个参数。
- 此外,将整个数据框存储在名为 data_frame 的变量中并打印该变量。
代码:
R
# list() functuons are used to create
# the list and those list() functions
# are put in another list() function to
# make the nested list
nested_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.call
data_frame <- as.data.frame(do.call(cbind, nested_list))
# Print data frame
data_frame
R
# list() functuons are used to create
# the list and those list() functions
# are put in another list() function to
# make the nested list
nested_list <- list(l1 = list(1:5, 5:1 ),
l2 = list(100:105, 105:100 ),
l3 = list(200:205, 205:200 ))
# print the nested list
nested_list
# Convert nested list to data frame by row
# with the help of rbind and do.call
data_frame <- as.data.frame(do.call(rbind, nested_list))
# Print data frame
data_frame
输出:
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
方法二:将嵌套列表逐行转换为Data Frame。
方法:
- 使用带有 do.call 和 rbind 的 data.frame函数创建数据框。
- rbind 用于将列表按行绑定到数据框中。
- do.call 用于将 rbind 和嵌套列表绑定在一起作为数据框函数的单个参数。
- 此外,将整个数据框存储在名为 data_frame 的变量中并打印该变量。
代码:
电阻
# list() functuons are used to create
# the list and those list() functions
# are put in another list() function to
# make the nested list
nested_list <- list(l1 = list(1:5, 5:1 ),
l2 = list(100:105, 105:100 ),
l3 = list(200:205, 205:200 ))
# print the nested list
nested_list
# Convert nested list to data frame by row
# with the help of rbind and do.call
data_frame <- as.data.frame(do.call(rbind, nested_list))
# Print data frame
data_frame
输出:
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