R语言 如何合并两个数据框架
在这篇文章中,我们将看到如何合并两个R数据框架。在R中合并数据框可以通过两种方式进行。
- 合并列
- 合并行
合并列
在这种方式中,我们水平地合并数据库。我们使用合并函数通过一个或多个共同的关键变量来合并两个框架(即内部连接)。
dataframe_AB = merge(dataframe_A, dataframe_B, by="ID")
以下是实现情况
# merging two datasets
authors <- data.frame(
name = c("kapil", "sachin", "Rahul","Nikhil","Rohan"),
nationality = c("US","Australia","US","UK","India"),
retired = c("Yes","No","Yes","No","No"))
books <-data.frame(
name = c("C", "C++","Java","php",".net","R"),
title = c("Intro to C","Intro to C++",
"Intro to java", "Intro to php",
"Intro to .net", "Intro to R"),
author = c("kapil", "kapil","sachin", "Rahul",
"Nikhil","Nikhil"))
merge(authors, books, by.x = "name", by.y = "author")
输出
合并行
这样,我们垂直合并数据框,并使用rbind()函数。rbind代表行绑定。这两个数据框必须有相同的变量,但不需要有相同的顺序。
注意: 如果dataframe_A有dataframe_B没有的变量,要么删除dataframe_A中的额外变量,要么在dataframe_B中创建额外变量并将其设置为NA。
从下图中我们可以看到,它将两个数据框架的行结合起来。
下面是实现 方法。
# merging two datasets
authors_A <- data.frame(
name = c("kapil", "sachin", "Rahul"),
nationality = c("US", "Australia", "US"),
retired = c("Yes", "No", "Yes"))
authors_B <- data.frame(
name = c("Nikhil", "Rohan"),
nationality = c("UK", "India"),
retired = c("No", "No"))
rbind(authors_A, authors_B)
输出