1

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

我想为作为“小公司”的公司创建一个二分变量;因此,该变量在等于 1 时emp1_2==1 | emp3_9==1 | emp10_19==1等于 1,否则为 0。

根据我对Stata的理解,我是一个裸用户,以下两种构造二分变量的方法应该是等价的。

方法1)

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

方法2)

gen lar_firm = (emp1_2 | emp3_9 | emp10_19)

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

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

4

1 回答 1

2

当你这样做

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/

于 2016-10-21T15:37:34.457 回答