stata使用merge函数类型不匹配的解决办法、去除空格

本文介绍了在数据匹配过程中遇到的城市变量类型不一致导致匹配失败的问题。通过将匹配数据集中城市变量类型调整为str33,并使用strtrim函数去除空格,成功解决了匹配问题。实例中提到在七台河市2007年的数据匹配上取得了成功。此方法对于处理数据集中的字符串类型变量匹配具有参考价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

  • 现有数据中城市变量是str33类型,而匹配数据中城市变量是str34类型,使用merge函数匹配时只匹配成功少量数据,而本来具有相同匹配变量的数据却无法匹配成功。
    在这里插入图片描述
variable 城市 was str33, now str34 to accommodate using data's values
  • 比如匹配城市为七台河市,年份为2007年的数据,虽然在两个数据集中都有这两个变量,而且不存在名称错误,但是仍然没有匹配成功。

解决办法

rename 城市 城市1
gen 城市= strtrim(城市1) 
  • 注意因为笔者发现市城市变量的数据类型不一致,所以改了匹配数据集中的城市变量类型。
  • 输入如上命令后,城市和城市1的数据类型如下:结果表明使用去空函数strtrim(详见https://zhuanlan.zhihu.com/p/269182189)后,城市变量类型也变成了str33,进而可以成功进行匹配。
    在这里插入图片描述

使用去空函数后的匹配结果

  • 使用去空函数后匹配结果如下:
    在这里插入图片描述
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值