stata使用merge函数类型不匹配的解决办法

  • Post author:
  • Post category:其他

问题描述

  • 现有数据中城市变量是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,进而可以成功进行匹配。
    在这里插入图片描述

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

  • 使用去空函数后匹配结果如下:
    在这里插入图片描述