R合并功能重复出现“ by”错误

时间:2018-12-02 20:56:42

标签: r merge

我有以下两个数据框: all_cards具有对32个变量的1,334个观测值,而contact具有对12个变量的1,321个观测值。这两个数据帧都包含一个名为id的列,该列具有相同的ID号,但顺序不同(all_cards的ID号比联系人多13个)。

我想将all_cards中的两个变量(列)添加到联系人中。

我尝试使用以下代码进行此操作;

contacts2 <- merge(x = contacts, y = all_cards[,c("idList", "idLabels")], by = "id")

并收到以下错误;

Error in fix.by(by.y, y) : 'by' must specify a uniquely valid column

当我指定by.x =“ id”和by.y =“ id”时,出现相同的错误。我已经检查过,并且两个数据框都只有一个称为“ id”的列,并且这两列都是“字符”类。我对此合并功能为何不起作用感到困惑。

我想要的结果将是获得数据框contact2,其中包含对14个变量的1,321个观察值,最后两个是idList和idLabels。

我在运行macOS Sierra(版本10.12.6)的Mac上使用RStudio版本1.1.456。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

<CommandFlag>CommandWellOnly</CommandFlag> 列必须同时存在于by中,因此列data.frame也必须包含在y id中:

data.frame