Stata编程小笔记3——可忽视&不忽视的缺失值
2022-04-09 15:35 作者:deepwaterqh | 我要投稿
在跑回归的过程中,面对缺失值,一个常见的做法是直接忽视,因为stata会自动忽略有缺失值的那行观测值。

但在数据预处理的过程中,直接忽视缺失值却有可能导致变量计算错误。这些情况包括(但不限于):
(1)判断语句
例子:
gen b=(a>2) :生成虚拟变量b,当a>2时,b取值为1,否则b取值为0。但由于Stata默认缺失值比任何值都大,即a等于缺失值时b也取值为1,这显然不对,所以此时需要将b替换成缺失值。
(2)变量横向相加
例子:
结果显示如下:

可见,变量横向相加时,只要有一个变量含有缺失值,则计算结果为缺失值。如果不想让计算结果为缺失值,则需要先将a=.替换成a=0。

而如果使用egen命令,则无论是横向相加,还是纵向相加,stata都会把缺失值当成0来计算。
(1)横向相加。
使用egen计算横向相加,有一个好处:多个变量相加时,但这些变量的名字有共同部分,则可使用通配符,大大减少变量名的书写负担。
(2)纵向相加。
计算结果并不是缺失值,而是如下:


回到最开始的问题,究竟需不需要把缺失值替换为0?这需要结合自己的研究问题而定。