合并数据帧时出错

时间:2014-12-18 16:09:23

标签: r join merge

我仅使用一列成功合并了数据帧,但在两个列上合并时遇到问题。我有一个包含有关县/州的各种信息的数据集,并希望从另一个数据集中合并该县/州的纬度/经度。

名new1

Month     County ST Bag1   zip
10  MIDDLESEX CT    1 06037
10  MIDDLESEX CT    1 06037
9 NEW LONDON CT   NA 06355
9 NEW LONDON CT   NA 06355
9 NEW LONDON CT   NA 06355
9 NEW LONDON CT   NA 06355
9 NEW LONDON CT   NA 06355
9 NEW LONDON CT    0 06355
10 NEW LONDON CT    5 06355
10 NEW LONDON CT    3 06355

NEW2

NAME ST FIPS    Latitude    Longitude
LITCHFIELD CT 9005 41.79274312 -73.24448889
HARTFORD CT 9003 41.80570047 -72.73328657
TOLLAND CT 9013 41.85298958   -72.337294
WINDHAM CT 9015 41.82754918 -71.98851586
NEW LONDON CT 9011 41.48228923 -72.10131783
FAIRFIELD CT 9001 41.27179117 -73.38473902
MIDDLESEX CT 9007 41.46673693 -72.53722401
NEW HAVEN CT 9009 41.41124892 -72.93600942

我使用的代码是:

fullDataX = merge(new, new2[ , c("NAME","ST","Latitude", "Longitude")], by.x=c("County","NAME"),by.y=c("ST","ST"),all.x=T)

但是我收到以下错误: [.data.frame中的错误(CountyData,CountyData $ ST ==“CT”,c(“NAME”,“ST”,:   选择了未定义的列

我也在dplyr中尝试了左连接但是得到以下错误: 错误:无法连接列'ST'x'ST':索引越界

任何想法都将不胜感激。我已经查看了许多其他问题和答案,但似乎无法找到合适的解决方案。感谢。

1 个答案:

答案 0 :(得分:2)

以下内容可以为您提供帮助:

fullDataX = merge(new1, new2, by.x = c("County", "ST"), by.y = c("NAME", "ST"))