我在2列数字向量(R中)中获得了商店ID及其Zipcodes的列表。我正在使用" Zipcode"包(https://cran.rproject.org/web/packages/zipcode/zipcode.pdf)并可以访问这些邮政编码的经度/纬度坐标。邮政编码包有一个数据框,包含所有邮政编码的每个邮政编码,城市,州,经度和纬度(作为大型数据框)。
我希望获取我的Zipcodes的经度和纬度坐标,并将它们添加为第3列和第4列(即商店ID,邮政编码,长度,纬度)
有什么想法? 谢谢!
编辑:我已经尝试了合并功能(即)总计< -merged(CleanData,zipcode,by = zip)并且我收到错误,因为它们必须具有相同数量的列?
答案 0 :(得分:0)
作为by
参数传递的列名必须用引号括起来。在此示例中,您不需要合并中的by
参数,如果 zipcode是两个数据框中唯一的公共列。
示例数据集:
#cleanData
d1<-tibble::tribble(~z,~id,131,1,114,2,155,5)
#zipcode
d2<-
tibble::tribble(~z,~x,~y,131,2,5,166,2,6,162,6,5,177,7,1,114,2,1,155,5,9)
result <- merge(d1,d2)
给出
z id x y
1 114 2 2 1
2 131 1 2 5
3 155 5 5 9
只需使用dplyr::select()
即可从结果数据框中删除任何不必要的列。假设您不需要列 y (例如,可能是州名)
result <- dplyr::select(result, z, id, x)
答案 1 :(得分:0)
结束使用:How to join (merge) data frames (inner, outer, left, right)?
基本上我使用了Left Outer函数,因为我想将所有的zipcodes保存在我的商店数据库中。我相信上面的答案将消除第二个zipcodes列表中找不到的zipcodes。