R语言 将大的R数据框架分割成小的数据框架列表

R语言 将大的R数据框架分割成小的数据框架列表

在这篇文章中,我们将讨论如何将一个大的R数据帧分割成小的数据帧列表。在R编程语言中,我们有一个名为split()的函数,用于将数据帧分割成若干部分。

因此,为了做到这一点,我们首先创建一个需要分割的数据框架的例子。

创建数据框

# create the data frame
data <- data.frame(id = c("X", "Y", "Z", "X", "X",
                          "X", "Y", "Y", "Z", "X"), 
                   x1 = 11 : 20,
                   x2 = 110 : 110)
 
# print the dataframe
data

输出

将大的R数据框架分割成小的数据框架列表

为了分割上述数据框架,我们使用 split() 函数。split()函数的语法是。

语法: split(x, f, drop = FALSE, …)

参数

  • x代表DataFrame和向量
  • f代表向量的分组或选择我们分割数据框架的列
  • drop代表删除或跳过指定的行

例1: 在这个例子中,我们尝试在没有任何参数的情况下运行分割函数,除了上述Dataframe。

当我们在没有任何参数(除了Dataframe)的情况下运行分割函数时,我们注意到分割函数返回第1列的每个元素与其他列的组合。在我们的例子中,第1列中有3个不同的元素,数据框架中总共有10行。因此,输出的总行数为3*10=30行。

# create the data frame
data <- data.frame(a1 = c("X", "Y", "Z", "X", "X",
                          "X", "Y", "Y", "Z", "X"), 
                   a2 = 11 : 20,
                   a3 = 110 : 110)
 
# split the dataframe using the
# split function
split_data <- split(data, f = data)   
 
# print the splitted data frame
split_data

输出

将大的R数据框架分割成小的数据框架列表

注意: 上面的输出截图是实际输出的1/3,由于简洁,我们不能插入 完整的输出截图 。

例2: 在这个例子中,我们将在1列的帮助下通过分组来分割数据框架。

要做到这一点,我们将使用分割函数的 “f “参数,”$”用于选择我们要分割数据框架的列。在我们的例子中,我们将根据a1列来分割数据框架。

# create the data frame
data <- data.frame(a1 = c("X", "Y", "Z", "X", "X",
                          "X", "Y", "Y", "Z", "X"), 
                   a2 = 11 : 20,
                   a3 = 110 : 110)
 
# split the data frame by grouping using "f" argument
split_data <- split(data, f = data$a1)  
 
# print the split data
split_data

输出

将大的R数据框架分割成小的数据框架列表

例3: 在这个例子中,我们将在两列的帮助下通过分组来分割数据框架。

要做到这一点,我们将使用split函数的 “f “参数,”$”用于选择列并生成一个列的列表,我们将根据这个列表来分割Dataframe。在我们的例子中,我们将根据a1和a2列来分割Dataframe。因此,我们创建了一个a1和a2的列表,这个列表被作为参数给 “f”。

# create the data frame
data <- data.frame(a1 = c("X", "Y", "Z", "X", "X",
                          "X", "Y", "Y", "Z", "X"), 
                    
                   a2 = c(1, 1, 1, 2, 2, 2,
                          1, 2, 1, 2),
                   a3 = 110 : 110)
# split the data frame by grouping using "f" argument
split_data <- split(data, f=list(dataa1, dataa2))  
 
# print the split data
split_data

输出

将大的R数据框架分割成小的数据框架列表

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程