日誌

連続量の変数からカテゴリ変数を作成(カットオフ分割,ダミー変数)

データハンドリングの中で頻繁に行う作業の備忘録です。
Stata付属の有名サンプルデータautoを使ってすぐにでも
試せるように書きました。Stata12.1を使っています。

【連続量をカテゴリに変換,カットオフ分割】

・各カテゴリで人数が等しい割合になるように区分(例:中央値折半,低・中・高の3区分)
・好みの数値で区分(例:抑うつ尺度のカットオフ得点以上)

変数作成(拡張版)のegenを使います。詳しくは,マニュアルの
 [D] egen - Extensions to generate (p167-)

メニューでは
 Data > Create or change data > Create new variable (extended)
からになります。

以下がコマンドです。確認手法を含めて少し冗長に書きましたが,変数作成は
基本的にはegenの行だけです。

sysuse auto //サンプルデータautoの読み込み
hist price //変数price分布確認

egen cprice = cut(price), group(3)
     //等人数になるように低・中・高の3区分でカテゴリ変数cprice作成
tab cprice //作成した変数の内訳確認

egen cprice2 = cut(price), at(0,10000,16000)
     //0~10000未満,10000以上16000未満に区分,つまり10000をカットオフ
tab cprice2 //作成した変数の内訳確認

//念のため,cpriceがちゃんと作られてるかどうかの確認
sort price
list price cprice cprice2


詳しくは,以下のUCLAのサイトの説明が丁寧です。

How can I recode continuous variables into groups?


【ダミー変数作成(indicator variables)】

ダミー変数とは,ある変数の値の数だけ,それを表す2値変数(0,1)を
作成するものです(ただし回帰分析に使うときはリファレンスにする値の
2値変数を除く)。これは,Stataでは簡単にできます。度数を確かめる
tabコマンドのオプションにgen(newvar)をつけるだけです。

メニューでは
Data > Create or change data > Other variable-creation commands > Create indicator variables
からになります。

以下がコマンドです。ここではcpで始まる変数が3つ作成されます。

tab cprice, gen(cp) //上記で作成したcpriceのダミー変数作成
list cprice cp1 cp2 cp3 //ちゃんとできてるか作成した変数のデータセット表示して確認