我几乎到处都找遍了,但找不到答案; 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"
并希望根据上面的数据库找到这些城市所在的国家(替换 NA):
df
countries cities
[1,] NA "LDN"
[2,] NA "NY"
[3,] NA "MOSC"
我完全不知道如何在 R 上解决这个问题。
你正在执行一个join在 R 中使用函数执行merge
merge(db, df)
使用dplyr
包允许更多自然动词:
library(dplyr)
inner_join(db, df)
或者也许(如果您希望显示不匹配的内容;请参阅?left_join
了解更多信息):
left_join(db, df)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)