如何使用R合并两个数据集而不获取重复值?

时间:2017-12-18 23:47:45

标签: r csv

我尝试合并R 中的两个数据集。第一个数据集称为AcademicData,另一个称为Mathsdata。当我合并数据集时,我得到了数千个重复的行。这里是代码的图片和生成的合并表,称为total。我试图通过变量" gender"。

合并数据集

继承代码。

setwd("H:/Data application/x14484252-DAD Project")

MathsData <- read.csv("Math-Students.csv", header=T, na.strings=c(""), 
  stringsAsFactors = T)

AcademicData <- read.csv("Academic-Performance.csv", header=T, 
  na.strings=c(""), stringsAsFactors = T)

total <- merge(MathsData, AcademicData, by="gender", all.x=TRUE)

从图像中可以看出,表中的合并创建了93,435行,称为total。Table

表示excel中每个第一个数据集的图像。 Academic Dataset 这是excel中第二个数据集的图像。 MathsData

我想按性别合并两个数据集,而不会在名为total的表中创建重复行。

1 个答案:

答案 0 :(得分:0)

你可以这样做:

library(data.table)
setDT(MathsData); setDT(AcademicData)
MathsData[AcademicData, mult = "first", on = "gender", nomatch=0L]

由于您没有提供可重现的数据,我无法测试代码。但我认为这样做会很好。