I wanted to test what happened if I replace a variable with a different data type:
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
The result is:
+--------------------------------------------------+
| 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 |
+--------------------------------------------------+
This seems very strange to me. I expected breakdown or disagreement. Is this a bug or am I missing something?
mmergeis user-written (Jeroen Weesie, SSC, 2002).If you use the official
mergein an up-to-date Stata, you will get what you expect.I have not looked inside
mmerge. My own guess is that what you see is a feature from the author’s point of view, namely that it’s not a problem if one variable is numeric and one variable is string so long as their contents agree. But why are you not usingmergedirectly? There was a brief period several years ago whenmmergehad some advantages overmerge, but that’s long past. BTW, I agree in wanting mymerges to be very conservative and not indulgent on variable types.