R语言 把大列表转换为数据框架

R语言 把大列表转换为数据框架

在这篇文章中,我们将讨论如何在R编程语言中把一个的大列表转换为的数据框架。

方法1:使用rbindlist()

首先,创建一个大列表。然后在列表上使用 Map 函数,并使用R语言中的 as.data.frame 函数将其转换为数据框架。Map函数应用一个函数并将给定的输入转换为列表或向量的每个元素。我们将在map中使用as.data.fr函数,将给定列表中的每个元素转换为数据框架。

在映射并将列表中的每个元素转换为数据框架后,下一步是使用R中的 rbindlist 函数将整个大列表转换为数据表或数据框架。

语法:

rbindlist( l, fill = FALSE, use.names = “check”, idcol = NULL)

参数 :

  • l : 这是一个 data.table 或 data.frame 或 list 对象的列表。
  • fill : 默认情况下是假的。如果我们指定为 “true”,那么它将自动用NA填充缺失的列。
  • use.names : 默认情况下,它被指定为check,这意味着所有的元素可能没有相同的名字,在相同的顺序。如果它被指定为 “true”,那么我们通过匹配列名进行绑定,如果 “false”,那么我们通过匹配位置进行绑定。
  • idcol : 它基本上在结果中创建一个列,显示这些特定的行来自哪个列表项。

你也可以使用 system.time ()函数来计算转换所花费的时间。

例子: 使用rbindlist()方法将一个大列表转换为数据框架

library(Matrix)
library(data.table)
  
# Creating the large list
data <- matrix(data = 1, nrow = 300, ncol = 3)
list_data <- rep(list(data), 18000)
  
# Mapping -> converting the list to 
# dataframe
list_data <- Map(as.data.frame, list_data)
  
# Converting the large list to dataframe
# using the rbindlist function
datarbind <- rbindlist(list_data)
  
# Print the dataframe
datarbind
R

输出:

在R语言中把大列表转换为数据框架

列表:大列表到数据框架

方法2:使用plyr包

我们将使用 ‘plyr ‘包的 ldply ()函数。

语法: ldply(large_list)

参数

large_list: 传递你的大列表

导入所需的包,然后将你想转换为数据框架的列表作为参数传入 ldply () 函数。

例子: 使用plyr包将一个大列表转换为数据框架

library(Matrix)
library(plyr)
  
# Creating the large list
data <- matrix(data = 1, nrow = 300, ncol = 3)
  
# Replicating the list
list_data <- rep(list(data), 18000)
  
ldply(list_data)
R

输出:

  1 2 3
1     1 1 1
2     1 1 1
3     1 1 1
4     1 1 1
5     1 1 1
6     1 1 1
7     1 1 1
8     1 1 1
9     1 1 1
10    1 1 1
11    1 1 1
12    1 1 1
13    1 1 1
14    1 1 1
15    1 1 1
16    1 1 1
17    1 1 1
18    1 1 1
.
.
.
R

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册