![見出し画像](https://assets.st-note.com/production/uploads/images/149185463/rectangle_large_type_2_50ef96a437f914116cff4daa5f4b424e.png?width=1200)
Stata初心者 #3 cond関数(Stata版 IF関数)
エクセルの作業でIF関数を使える事は、初心者脱却の登竜門である。当然、Stataでも様々な条件分岐が必要であり、その一つに「cond関数」がある。おそらくcondition(条件)の略である。
ダミーデータの読み込み
![](https://assets.st-note.com/img/1722436358413-gsFrbxhgGb.png)
Stataでは基本的にクリックだけでエクセルデータのインポートができる。
[ファイル]
→[インポート]
→ 読み込むデータ形式(エクセルならxlsやxlsx)
と進める。
今回は、20人の年齢、身長、体重が入ったデータを使用する。
変数(BMI)の生成
とりあえず、分析っぽくするために変数を生成する。変数の生成はgen(またはgenerate)であり、
gen bmi =weight/(height*0.01)^2
でBMIを表す変数bmiを生成する。
BMIの値で仕分け(cond関数の使用)
ここで、BMI 25以上を「obesity」、25未満を「not」と仕分けしたい。
エクセルなら
=if(BMIのセル>=25,"obesity","not")
となる。stataでそれを判別する列の変数を「body」とすると、
gen body = cond(bmi>=25, "obesity","not")
となり、以下の結果になる。
![](https://assets.st-note.com/img/1722437457096-qivf3T8p5g.png)
bmiの小数点以下の多さが気持ち悪いので、stata初心者#2で学んだ変数の型を変更して、bmiの変数のフォーマットを%10.0g → %3.1fとして下記の表が完成する。
![](https://assets.st-note.com/img/1722437945438-wnnU9sDeIq.png)
エクセルだと一瞬だが、Stataだとまだまだ手こずる。道は長いが、エクセルの学び初めの様で楽しさもある。頑張ろう。
この記事が気に入ったらサポートをしてみませんか?