R simple merge出现错误:“by”必须指定唯一有效的列

R simple merge出现错误:“by”必须指定唯一有效的列,r,merge,R,Merge,我想根据索引列将从引用表中查找的值添加到数据表中,但出现错误:“by”必须指定唯一有效的列。抱歉,如果这是重复的,但我还没有成功地将建议答案应用于相关问题 在下面的示例中,查找表包含每个BH的pH值,我想将该值添加到我的主数据帧df1中,其中df1$HABITATE==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.

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

在下面的示例中,查找表包含每个BH的pH值,我想将该值添加到我的主数据帧df1中,其中df1$HABITATE==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.byby.x中出错,x:“by”必须指定唯一有效的列


这看起来很简单,我一定是犯了一个明显的错误。非常感谢任何能指出它是什么的人。

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

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