Stata mmerge update replace给出错误的输出
我想测试如果我用不同的数据类型替换变量会发生什么:Stata mmerge update replace给出错误的输出,merge,stata,Merge,Stata,我想测试如果我用不同的数据类型替换变量会发生什么: clear input id x0 1 1 2 13 3 . end list save tabA, replace clear input id str5 x0 1 "1" 2 "23" 3 "33" end list save tabB, replace use tabA, clear mmerge id using tabB, type(1:1) update replace list 结果是: +--------
clear
input id x0
1 1
2 13
3 .
end
list
save tabA, replace
clear
input id str5 x0
1 "1"
2 "23"
3 "33"
end
list
save tabB, replace
use tabA, clear
mmerge id using tabB, type(1:1) update replace
list
结果是:
+--------------------------------------------------+
| id x0 _merge |
|--------------------------------------------------|
1. | 1 1 in both, master agrees with using data |
2. | 2 13 in both, master agrees with using data |
3. | 3 . in both, master agrees with using data |
+--------------------------------------------------+
这对我来说似乎很奇怪。我预料到崩溃或分歧。这是一个bug还是我遗漏了什么?
mmerge
是用户编写的(Jeroen Weese,SSC,2002)
如果您在最新状态中使用官方的合并
,您将得到您期望的结果
. merge 1:1 id using tabB, update replace
x0 is str5 in using data
r(106);
我还没有看里面的
mmerge
。我自己的猜测是,从作者的角度来看,你所看到的是一个特性,即如果一个变量是数字,一个变量是字符串,只要它们的内容一致,这不是问题。但是为什么不直接使用merge
?几年前有一个短暂的时期,mmerge
比merge
有一些优势,但那已经过去很久了。顺便说一句,我同意希望我的merge
s非常保守,不喜欢变量类型 mmerge
是用户编写的(Jeroen Weese,SSC,2002)
如果您在最新状态中使用官方的合并
,您将得到您期望的结果
. merge 1:1 id using tabB, update replace
x0 is str5 in using data
r(106);
我还没有看里面的mmerge
。我自己的猜测是,从作者的角度来看,你所看到的是一个特性,即如果一个变量是数字,一个变量是字符串,只要它们的内容一致,这不是问题。但是为什么不直接使用merge
?几年前有一个短暂的时期,mmerge
比merge
有一些优势,但那已经过去很久了。顺便说一句,我同意希望我的merge
s非常保守,不喜欢变量类型