问题描述
- 现有数据中城市变量是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,进而可以成功进行匹配。
使用去空函数后的匹配结果
- 使用去空函数后匹配结果如下: