📜  将大列表转换为 R 中的数据框

📅  最后修改于: 2022-05-13 01:55:37.930000             🧑  作者: Mango

将大列表转换为 R 中的数据框

在本文中,我们将讨论如何转换 大名单到 R 编程语言中的数据帧。

方法 1:使用 rbindlist()

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

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

您还可以使用system.time ()函数来计算转换所用的时间。

示例:使用 rbindlist() 方法将大列表转换为数据框

R
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
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)


输出 :

图:数据框的大列表

方法二:使用plyr包

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

导入所需的包,然后将要转换为数据帧的列表作为参数传递给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)

输出:

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
.
.
.