【问题标题】:Stata mmerge update replace gives wrong outputStata mmerge update replace 给出错误的输出
【发布时间】:2012-11-15 10:57:29
【问题描述】:

我想测试如果我用不同的数据类型替换变量会发生什么:

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 |
   +--------------------------------------------------+

这对我来说似乎很奇怪。我预计崩溃或分歧。这是一个错误还是我错过了什么?

【问题讨论】:

    标签: merge stata


    【解决方案1】:

    mmerge 是用户编写的(Jeroen Weesie,SSC,2002)。

    如果您在最新的Stata 中使用官方merge,您将得到您所期望的。

    . merge 1:1 id using tabB, update replace
    x0 is str5 in using data
    r(106);
    

    我没有看过mmerge。我自己的猜测是,从作者的角度来看,您看到的是一个特征,即一个变量是数字的,一个变量是字符串的,只要它们的内容一致,就没有问题。但是你为什么不直接使用merge?几年前有一个短暂的时期,mmergemerge 有一些优势,但那已经过去了。顺便说一句,我同意我的merges 非常保守,而不是对变量类型放纵。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-20
      • 2013-04-26
      • 1970-01-01
      • 1970-01-01
      • 2020-09-08
      • 2021-02-11
      • 2013-09-10
      • 1970-01-01
      相关资源
      最近更新 更多