【问题标题】:Merge Two Data Frames based on Matching Row Criteria and Shared Columns根据匹配行条件和共享列合并两个数据框
【发布时间】:2018-12-07 19:48:22
【问题描述】:

以下是我正在使用的数据集:

数据1:

ID   Grade   Year
1    A       2000
2    B       2001
3    C       2002

数据2:

ID   NewGrade Year
1    B        2000
2    C        2001

我想将 Data2 中“NewGrade”中的值合并到 Data1 中的一个新列或一个全新的数据框“NewData”中。输出将如下所示:

ID   Grade   Year   NewGrade
1    A       2000   B
2    B       2001   C
3    C       2002   NA

这样做的目的是表明为评分建立了新的标准,并且“Grade”的第一个值发生了变化,“NewGrade”中的新值表明了这一点。为避免重复,我想根据数据框“ID”和“Year”中的共享列合并 NewGrades。如果没有类似 ID#3 的 NewGrade,它将返回一个空值。

我尝试了以下方法,但它破坏了 Rstudio:

newData <- merge(Data1, Data2, col=c("ID", "Year"), x.all=T)

【问题讨论】:

    标签: r merge


    【解决方案1】:

    你的merge 应该是这样的

    newData = merge(Data1, Data2, by = c("ID", "Year"), all.x = TRUE)
    

    merge 没有 colx.all 参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-12
      • 2021-09-18
      • 2020-10-20
      • 1970-01-01
      • 2020-12-21
      • 1970-01-01
      • 1970-01-01
      • 2021-07-22
      相关资源
      最近更新 更多