【エコンティア】経済学・データサイエンス
 
【STATA】Stataにおけるifや関係演算子の使い方

【STATA】Stataにおけるifや関係演算子の使い方

Stataにおけるifや関係演算子の使い方

 

今回はstataで演算を行う際に、不等号や条件式をどのように扱うのかについて説明していきます。まず以下のようにコマンドしみましょう。

 

set obs 20

gen x1 = _n

set seed 1234

gen rnd = runiform()

sort rnd

gen x2 =_n

gen x3 = 1 if x1==x2

gen x4 = 1 if x1 != x2

gen x5 = 1 if x1 >= 5

gen x6 = 1 if x1 < 5

gen x7 = 1 if x1 <= 15

gen x8 = 1 if x1 > 15

 

 

まず4行目までは、データ数を20に設定し、変数x1には1から20までの正の整数(自然数)が出力されており、変数rndにはseed 1234における0から1までの乱数が出力されています。5行目でsort rnd を用いることで、rndの乱数を昇順に並べることができます。このとき、図のようにx1にはそれぞれの乱数に対応した番号が割り振られています。

 

次に6行目のようにx2に1から20までの番号を順番に割り振っていきます。そして7行目で、x1とx2が等しいときにx3に1を出力するようにコマンドを打ちます。このとき、x1とx2が等しい状態をx1==x2と表します。イコールを2つ重ねることに注意しましょう。

 

8行目では、x1とx2が異なる数字の場合に、x4に1と出力するようにコマンドしています。9行目ではx1が5以上のときはx5に1、10行目ではx1が5未満のときx6に1、11行目ではx1が15以下のときx7に1、12行目ではx1が15より大きいときとx8に1と出力するコマンドを表しています。