当有缺失值时,如何获得两个变量的差异?

时间:2013-02-10 06:23:19

标签: stata

我有两个变量A& B,我想获得一个名为A - B的新变量C。为此,我使用了generate C = A - B。但是,当CA包含缺失值时,它会在B中提供一些缺失值。

例如,如果A为5000但缺少B,则C会丢失,即使我希望C为5000。

所以我想把那些缺失的值视为零和&得到答案。我怎么能在Stata中做到这一点?

1 个答案:

答案 0 :(得分:1)

 gen C = cond(missing(A, B), min(A, B), A - B) 

这是

的简写
 gen C = A - B 
 replace C = min(A, B) if missing(A, B) 

的缩写
 gen C = A - B 
 replace C = B if missing(A) 
 replace C = A if missing(B) 

有关cond()的教程,请参阅http://www.stata-journal.com/article.html?article=pr0016

min(A, B)的结果总是单个非缺失值。 (事实上​​,max(A, B)也是如此。)

如果两者都缺失,你没有拼出你想要的东西;这里的代码返回缺少的差异。

如果您的遗失确实被视为零,请参阅help mvencode