当并非所有元素都匹配时,匹配R中的数据

时间:2015-09-03 17:02:54

标签: r merge plyr

我有一个包含邮政编码列的数据框。我还有一个数据框,其中包含邮政编码列表以及它们所属的大都市统计区。我试图根据邮政编码附加MSA。数据框中的邮政编码不能保证在另一个数据框中,并且主数据中的每个邮政编码可能会被多次看到。数据框以779行开头,最后应为779行。我已经尝试了下面的合并命令

sheet <- merge(sheet, msa, by = "Zip", all.x = TRUE, all.y=FALSE)

但是,结果数据框1881行。

我也尝试过使用plyr

test <- join(sheet, msa, by = "Zip")

这也会产生一个包含1881行的数据帧。

我想我可以用%in%和for循环来做我想要的东西,但我希望有一个命令可以做我想要的。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我使用excel从msa列中删除了重复项。一旦我这样做,就解决了这个特殊问题。

删除重复项后,简单的合并命令就可以了:

merge(sheet, msa, by = "Zip", all.x = TRUE, all.y = FALSE)