我有两个要合并的数据框。每个数据框内都有两列具有匹配标题的列,例如“州”和“城市”。
df1仅具有选定数量的State和City组合,而df2具有所有组合。
我想从df2中获取Pov2009和Pov2010,并将这两列添加到df1中,它们对应的州/市与df1中的州/市匹配。我还希望df2中没有出现的所有df2中列出的州和城市消失。
结果将为df3。
df1
State City Votes2007
CA SF 17000
CA Fresno 16500
NY Ithaca 12100
ID Boise 17200
df2
State City Pov2009 Pov2010
CA SF .1 .15
OR Bend .05 .05
NY Ithaca .02 .04
NY Montauk .03 .02
CA Fresno .15 .12
ID Boise .04 .04
df3
State City Votes2007 Pov2009 Pov2010
CA SF 17000 .1 .15
CA Fresno 16500 .15 .12
NY Ithaca 12100 .02 .04
ID Boise 17200 .04 .04
我已经尝试过merge(),dplyrs inner_join()以及通过此站点发现的许多其他功能,但是似乎没有一个问题正是我要寻找的。
答案 0 :(得分:2)
innerjoin
同时使用两列
df3 <- merge(df1, df2, by= c("State", "City"))
State City Votes2007 Pov2009 Pov2010
1: CA SF 17000 0.10 0.15
2: CA Fresno 16500 0.15 0.12
3: NY Ithaca 12100 0.02 0.04
4: ID Boise 17200 0.04 0.04