R 如何合并两个数据帧,其中只有一些匹配的列名和该列中的一些匹配值?

R 如何合并两个数据帧,其中只有一些匹配的列名和该列中的一些匹配值?,r,R,我尝试合并两个数据帧。每个数据框中有两列具有匹配的标题,比如“State”和“City” df1只有一定数量的州和城市组合,而df2拥有所有这些组合 我想从df2中获取Pov2009和Pov2010,并将这两列添加到df1中,使其对应的州/市与df1中的州/市匹配。我还希望df2中列出的所有在df1中没有出现的州和城市都消失 结果将是df3 df1 State City Votes2007 CA SF 17000 CA

我尝试合并两个数据帧。每个数据框中有两列具有匹配的标题,比如“State”和“City”

df1只有一定数量的州和城市组合,而df2拥有所有这些组合

我想从df2中获取Pov2009和Pov2010,并将这两列添加到df1中,使其对应的州/市与df1中的州/市匹配。我还希望df2中列出的所有在df1中没有出现的州和城市都消失

结果将是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 internal_join()和其他一些我在这个网站上找到的东西,但是没有一个问题是我想要的

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

df3
internal_-join()
如果您通过两列进行连接,则应该可以使用:
internal_-join(df1,df2,by=c(“State”,“City”)
您是如何使用它们的<代码>合并
左联合
内联合
都适合我。您是否已通过两个变量连接,即通过=c(“州”、“市”)?