R语言 如何合并基于多列的数据框架

R语言 如何合并基于多列的数据框架

在这篇文章中,我们将讨论如何在R编程语言中合并基于多列的数据框架。

我们可以通过使用merge()函数来合并两个基于多列的数据框架。

语法:

merge(dataframe1, dataframe2, by.x=c(‘column1’, ‘column2’……….., ‘column n’), by.y=c(‘column1’, ‘column2’……….., ‘column n))

其中

  • dataframe1是第一个数据框架
  • dataframe2是第二个数据框架
  • by.x代表第一个数据框架的列
  • by.y代表第二个数据框架的列

让我们创建两个数据框架并显示

例子 :R程序创建两个有4列学生数据的数据框架

# create dataframe1
data1 = data.frame(name=c("manoj", "manoja", "saroja", "ramya"),
                   subjects=c("java", "c/cpp", "python", "R"),
                   city=c("ponnur", "tenali", "hyd", "guntur"),
                   marks=c(89, 90, 78, 89))
  
# create dataframe2
data2 = data.frame(name=c("manoj", "sravya", "saroja", "pavani"),
                   subjects=c("java", "c/html", "python", "php/css"),
                   city=c("ponnur", "hyd", "hyd", "guntur"),
                   marks=c(89, 78, 78, 81))
  
# display
print(data1)
print(data2)

输出:

如何在R语言中合并基于多列的数据框架?

例子1: 合并2列的数据框架

# create dataframe1
data1 = data.frame(name=c("manoj", "manoja", "saroja", "ramya"),
                   subjects=c("java", "c/cpp", "python", "R"),
                   city=c("ponnur", "tenali", "hyd", "guntur"),
                   marks=c(89, 90, 78, 89))
  
# create dataframe2
data2 = data.frame(student=c("manoj", "sravya", "saroja", "pavani"),
                   subjects=c("java", "c/html", "python", "php/css"),
                   city=c("ponnur", "hyd", "hyd", "guntur"),
                   exams=c(89, 78, 78, 81))
  
# merge dataframes based on name and subjects from data1
# with student and subjects from data2
merge(data1, data2, by.x=c('name', 'subjects'),
      by.y=c('student', 'subjects'))

输出:

如何在R语言中合并基于多列的数据框架?

例2: 基于三列的数据框架进行合并。

# create dataframe1
data1 = data.frame(name=c("manoj", "manoja", "saroja", "ramya"),
                   subjects=c("java", "c/cpp", "python", "R"),
                   city=c("ponnur", "tenali", "hyd", "guntur"),
                   marks=c(89, 90, 78, 89))
  
# create dataframe2
data2 = data.frame(student=c("manoj", "sravya", "saroja", "pavani"),
                   subjects=c("java", "c/html", "python", "php/css"),
                   city=c("ponnur", "hyd", "hyd", "guntur"),
                   exams=c(89, 78, 78, 81))
  
# merge dataframes based on name,city and subjects from data1
# with student,city and subjects from data2
merge(data1, data2, by.x=c('name', 'subjects', 'city'),
      by.y=c('student', 'subjects', 'city'))

输出:

如何在R语言中合并基于多列的数据框架?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程