我仅使用一列成功合并了数据帧,但在两个列上合并时遇到问题。我有一个包含有关县/州的各种信息的数据集,并希望从另一个数据集中合并该县/州的纬度/经度。
名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':索引越界
任何想法都将不胜感激。我已经查看了许多其他问题和答案,但似乎无法找到合适的解决方案。感谢。
答案 0 :(得分:2)
以下内容可以为您提供帮助:
fullDataX = merge(new1, new2, by.x = c("County", "ST"), by.y = c("NAME", "ST"))