0

我有两个变量A& B,我想获得A - B一个名为C. 为此,我使用了generate C = A - B. 但它在 , 中给出了一些缺失值C,其中一个AB包含缺失值。

例如,如果缺失A时为 5000 ,则即使我想要5000,它也会缺失。BCC

所以我想将这些缺失值视为零并得到答案。我怎样才能在Stata中做到这一点?

4

1 回答 1

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

于 2013-02-10T11:04:06.843 回答