我有两个变量A
& B
,我想获得A - B
一个名为C
. 为此,我使用了generate C = A - B
. 但它在 , 中给出了一些缺失值C
,其中一个A
或B
包含缺失值。
例如,如果缺失A
时为 5000 ,则即使我想要5000,它也会缺失。B
C
C
所以我想将这些缺失值视为零并得到答案。我怎样才能在Stata中做到这一点?
我有两个变量A
& B
,我想获得A - B
一个名为C
. 为此,我使用了generate C = A - B
. 但它在 , 中给出了一些缺失值C
,其中一个A
或B
包含缺失值。
例如,如果缺失A
时为 5000 ,则即使我想要5000,它也会缺失。B
C
C
所以我想将这些缺失值视为零并得到答案。我怎样才能在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)
事实上也是如此。)
如果两者都缺失,您没有说明您想要什么;这里的代码返回缺失作为差异。
如果您的缺失确实被视为零,请参阅help mvencode
。