R - Excel VLOOKUP等效 - 查找,替换

Joh*_*ene 6 r vlookup

我几乎无处不在,无法找到答案; R等价于Excel上的VLOOKUP.VLOOKUP允许我在整个列中查找特定值并将其应用于我的数据框的每一行.

在这种情况下,我想找到一个特定城市所在的国家(来自数据库)并在新列中返回该国家/地区的名称.

所以我有这个数据库:

countries <- c("UK", "US", "RUS")
cities <- c("LDN", "NY", "MOSC")
db <- cbind(countries, cities)
db
      countries cities
[1,] "UK"      "LDN" 
[2,] "US"      "NY"  
[3,] "RUS"     "MOSC"
Run Code Online (Sandbox Code Playgroud)

并且想要根据上面的数据库找到这些城市所在的国家(替换NA):

df
     countries cities
[1,]   NA      "LDN" 
[2,]   NA      "NY"  
[3,]   NA     "MOSC"
Run Code Online (Sandbox Code Playgroud)

我完全不知道如何在R.

Hug*_*ugh 9

您正在执行使用该函数执行R中的连接merge

merge(db, df)
Run Code Online (Sandbox Code Playgroud)

使用该dplyr包允许更自然的动词:

library(dplyr)
inner_join(db, df)
Run Code Online (Sandbox Code Playgroud)

或者(如果您希望显示不匹配的内容; ?left_join有关详细信息,请参阅参考资料):

left_join(db, df)
Run Code Online (Sandbox Code Playgroud)