R语言 如何把数据框添加到数据框

R语言 如何把数据框添加到数据框

在这篇文章中,我们将看到如何在R编程语言中在另一个数据框架的末端添加数据框架。

方法1:使用 rbind() 方法

R语言中的rbind()方法只有在输入的数据框架都包含相同的列,且长度和名称相似的情况下才起作用。数据框架可能有不同的行数。数据框架的列的类别应该是相互一致的,否则就会产生错误。以下属性被维护。

  • 在函数调用过程中,行是按照数据框架出现的顺序追加的。
  • 列的总数与任何一个数据框架中的列相等。
  • 行的总数等同于数据框架中行的总和。
rbind ( df1, df2)

示例: 使用rbind()方法添加数据框架

# declaring first dataframe
data_frame1 <- data.frame(col1 = c(2, 4, 6),
                          col2 = FALSE ,
                          col3 = LETTERS[1 : 3])
  
print ("First Dataframe")
print (data_frame1)
  
# declaring second dataframe
data_frame2 <- data.frame(col1 = c(1 , 3),
                          col2 = TRUE, 
                          col3 = LETTERS[4 : 5])
  
print ("Second Dataframe")
print (data_frame2)
print ("Combining Dataframe")
  
# binding dataframes
rbind(data_frame1, data_frame2)

输出

如何在R语言中把数据框添加到数据框?

方法2:使用plyr包

R中的 “plyr “包用于处理数据,包括对其进行增强和操作。它可以通过以下命令加载并安装到工作空间。

install.packages("plyr")

R中的rbind.fill()方法是基础R中rbind()方法的增强版,用于组合具有不同列的数据框。在输入的数据框中,列名和数字可能是不同的。相应的数据框架中缺失的列用NA填充。只有当某一列出现在任何一个数据框架中时,输出的数据框架才包含该列。

rbind.fill( df1, df2)

以下属性由rbind.fill()方法维护。

  • 数据框是按照它们在函数中指定的顺序附加的。
  • 总列数相当于两个数据框架的列数之和。
  • 行的总数相当于两个数据框架的行数的总和。
  • 列的出现是按照函数调用时数据框架参数声明的顺序。
  • 在缺少的列中会创建空单元。

示例: 使用plyr包添加数据框架

# loading the required library
library("plyr")
  
# declaring first dataframe
data_frame1 <- data.frame(col1 = c(2, 4, 6),
                          col2 = c(4, 6, 8),
                          col3 = c(8, 10, 12),
                          col4 = LETTERS[1 : 3])
  
print ("First Dataframe")
print (data_frame1)
  
# declaring second dataframe
data_frame2 <- data.frame(col4 = letters[1:4],
                          col5 = TRUE)
  
print ("Second Dataframe")
print (data_frame2)
print ("Combining Dataframe")
  
# binding dataframes
rbind.fill(data_frame1, data_frame2)

输出

如何在R语言中把数据框添加到数据框?

方法3:使用 dplyr包

R中的 “dplyr “包用于处理数据,包括对其进行增强和操作。它可以通过以下命令加载并安装到工作空间。

install.packages("dplyr")

bind_rows()方法是用来组合具有不同列的数据框架。在输入的数据框中,列名和数字可能是不同的。相应的数据框架中缺失的列会用NA来填充。只有当某一列出现在任何一个数据框中时,输出的数据框才包含该列。

bind_rows(df1, df2)

这些属性类似于 “plyr “包的工作。这个方法只是对数据操作提供了一个增强。

示例: 使用dplyr包添加数据框架

# loading the required library
library("dplyr")
  
# declaring first dataframe
data_frame1 <- data.frame(col1 = c(2, 4, 6),
                          col2 = c(4, 6, 8),
                          col3 = c(8, 10, 12),
                          col4 = c(20, 16, 14))
  
print ("First Dataframe")
print (data_frame1)
  
# declaring second dataframe
data_frame2 <- data.frame(col5 = letters[1 : 4],
                          col6 = TRUE)
  
print ("Second Dataframe")
print (data_frame2)
print ("Combining Dataframe")
  
# binding dataframes
bind_rows(data_frame1, data_frame2)

输出

如何在R语言中把数据框添加到数据框?

如果有任何列名在两个输入数据框架中都是相同的,那么就会遇到以下属性。

  • 公共列的类别在两个数据框架中应该是相同的,否则会遇到错误。

在这种情况下,输出数据框中的列的总数应该相当于输入列的总数减去相交的列。

例子: 增加一个具有相同名称的列的数据框架。

# loading the required library
library("dplyr")
  
# declaring first dataframe
data_frame1 <- data.frame(col1 = c(2, 4, 6),
                          col2 = c(4, 6, 8),
                          col3 = c(8, 10, 12),
                          col4 = LETTERS[1 : 3])
  
print ("First Dataframe")
print (data_frame1)
  
# declaring second dataframe
data_frame2 <- data.frame(col4 = letters[1 : 4],
                          col5 = TRUE)
print ("Second Dataframe")
print (data_frame2)
print ("Combining Dataframe")
  
# binding dataframes
bind_rows(data_frame1,data_frame2)

输出

如何在R语言中把数据框添加到数据框?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程