You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言通过城市匹配双数据集为us_data新增州信息列

你对join的顾虑是多余的,dplyr的left_join()完全可以满足你的需求,该函数会保留左表(也就是你的us_data)的所有行,同一个城市的多条观测都会匹配到对应的州信息,不会出现丢失行的问题。

操作代码

首先加载依赖包:

# 若未安装dplyr先运行 install.packages("dplyr")
library(dplyr)

执行匹配替换:

us_data_updated <- us_data %>%
  # 以city为关联键,左连接us表的州信息
  left_join(select(us, city, state_id, state_name), by = "city") %>%
  # 替换原有的state列,这里用state_id(州缩写),如果需要州全称就替换为state_name
  mutate(state = coalesce(state_id, state)) %>%
  # 清理多余的匹配字段,保留原有表的列结构
  select(-state_id, -state_name)

代码中的coalesce()函数作用是如果匹配不到州信息(即us表里没有对应城市),就保留原来的US值,避免出现空值。

注意事项

如果存在不同州同名的城市,仅通过城市名称匹配会出现错误,这种情况可以结合邮编前缀等其他字段补充关联规则,优化匹配准确率。

内容的提问来源于stack exchange,提问作者famato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 06:36:07