我有两个变量A
& B
,我想获得一个名为A - B
的新变量C
。为此,我使用了generate C = A - B
。但是,当C
或A
包含缺失值时,它会在B
中提供一些缺失值。
例如,如果A
为5000但缺少B
,则C
会丢失,即使我希望C
为5000。
所以我想把那些缺失的值视为零和&得到答案。我怎么能在Stata中做到这一点?
答案 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
。