嗯,经常都是发了帖子之后的几分钟内自己琢磨出应该怎么处理这个问题了。
可行的做法是在后面跟一个replace命令
gen higher_edu = cond(a13==3 | a13==4, 1, 0) 
replace higher_hedu=. if a13==.
不过有没有可以直接在cond()函数中保留missing value 的方法呢?
yellowriver 发表于 2010-5-4 09:08 
连老师,您好!我目前数据中a13变量是一个人的教育水平:
a13         0=文盲
               1=小学
               2=中学
               3=专科
               4=大学本科
               5=不回答
我现在想创建新的一个变量a13a, 使有受过高等教育的人(a13=3或4)标为1,其他为0,保留原有a13的缺漏值, 利用cond()函数,但如何保留原有的缺漏值呢?我的命令为:
gen higher_edu = cond(a13==3 | a13==4, 1, 0, . ) 但结果是原有的缺漏值也变为0了,我想保留这757个缺漏值,怎么实施命令呢?
原有变量a13 的codebook结果如下:
--------------------------------------------------------------------------------------------------------------------------------------------
a13                                                                                                                               Edu Level
--------------------------------------------------------------------------------------------------------------------------------------------
                  type:  numeric (byte)
                 range:  [0,5]                        units:  1
         unique values:  6                        missing .:  757/5653
            tabulation:  Freq.  Value
                            10  0
                            70  1
                           717  2
                          2586  3
                          1227  4
                           286  5
                           757  .