【问题标题】:R simple merge gives error: 'by' must specify a uniquely valid columnR简单合并给出错误:'by'必须指定一个唯一有效的列
【发布时间】:2018-02-01 16:19:39
【问题描述】:

我想根据索引列将从引用表中查找的值添加到数据表中,但出现错误:“'by' 必须指定唯一有效的列”。抱歉,如果这是重复的,但我没有成功地将建议的答案应用于相关问题。

在下面的示例中,查找表包含每个“BH”的 pH 值,我想将此值添加到我的主数据框“df1”,其中 df1$Habitat == LookUp$BH。

df1 = data.frame(MySites=c(1,2,3),Habitat=c(11,12,13))
LookUp = data.frame(BH=c(8,10,11,12,13,15),pH=c(4.8,5.2,4.1,3.8,5.6,4.5))
merge(x=df1,y=LookUp,by.x='df1$Habitat',by.y='LookUp$BH',all=TRUE)

这给出: fix.by(by.x, x) 中的错误:“by”必须指定唯一有效的列

这似乎是一件简单的事情,我一定犯了一个明显的错误。非常感谢任何能指出它是什么的人。

【问题讨论】:

    标签: r merge


    【解决方案1】:

    你说得对,但你想太多了。删除by.xby.y 语句中的dataset$

    merge(x=df1,y=LookUp,by.x='Habitat',by.y='BH',all=TRUE)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-25
      • 2018-09-23
      • 1970-01-01
      • 2021-11-27
      • 2021-02-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多