当有缺失值时,如何求出两个变量的差值? [英] How to get the difference of two variables, when there are missing values?
本文介绍了当有缺失值时,如何求出两个变量的差值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
A
&;B
,我想为一个名为C
的新变量获取A - B
。为此,我使用了generate C = A - B
。但当A
或B
包含缺失值时,它会在C
中给出一些缺失值。
例如,如果A
为5000,而B
缺失,则会显示Missing forC
,即使我希望C
为5000。
因此,我想将这些缺失的值视为零,并得到答案。如何在Stata中执行此操作?
推荐答案
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)
也是真的。)
您没有详细说明如果两者都缺少,您想要什么;这里的代码返回Missing作为区别。
如果您的遗漏真的被认为是零,请参阅help mvencode
。
这篇关于当有缺失值时,如何求出两个变量的差值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文