在 Stata 中编码二分变量

Coding dichotomous variables in Stata

我有一组关于公司规模的二分变量: emp1_2(即有 1 或 2 名雇员的公司,包括所有者),emp3_9、emp10_19、emp20_49、emp50_99、emp100_249、 emp250_499、emp500,另外我没有关于 27 家公司规模的信息,但我有根据地猜测它们是大公司。

我想为公司创建一个二分变量 "small firm";因此,当 emp1_2==1 | emp3_9==1 | emp10_19==1 等于 1 时,此变量等于 1,否则为 0。

以我个人对Stata的理解,下面两种构造二分变量的方法应该是等价的。

方法一

gen lar_firm = 0
replace lar_firm = 1 if emp1_2==1 | emp3_9==1 | emp10_19==1

方法二)

gen lar_firm = (emp1_2 | emp3_9 | emp10_19)

相反,我发现使用方法 2) lar_firm 对于 emp1_2 的公司等于 1 | emp3_9 | emp10_19 以及未进入任何类别的公司(即 emp1_2、emp3_9、emp10_19、emp20_49、emp50_99、emp100_249, emp250_499, emp500) 但我有根据地猜测他们是大公司。

我想知道这两种方法之间是否存在细微差别。我虽然他们应该导致平等的结果。

当你这样做时

gen lar_firm = emp1_2 | emp3_9 | emp10_19 

你正在测试

(emp1_2 != 0) | (emp3_9 != 0) |(emp10_19 != 0)  

特别是缺失值 . 与 0 不同:它们实际上更大。

更多信息:

http://www.stata.com/support/faqs/data-management/logical-expressions-and-missing-values/