2012年1月12日木曜日

if条件と欠損値 ダミー変数 in Stata



gen  tall =(height > 190)

条件を括弧で囲むと、条件が真である場合、括弧内は1の値をとり、他の場合はゼロの値をとる。

上述のコードは、"height">190である場合、"tall"変数に1を割り当て、その他の場合にはゼロを割り当てる。しかし、"height"が欠損である場合、どうなるか。Stataは欠損数値が他の数値よりも大きいものとして扱う。したがって欠損であれば、190よりも大きいとして扱われる。その結果、"height" が欠損である場合、その観察値はどれもこの新しい変数"tall"に対して1を割り当ててしまう!

gen tall = (height > 190) if height ! = .

0 件のコメント: