連続量の変数からカテゴリ変数を作成(カットオフ分割,ダミー変数)
データハンドリングの中で頻繁に行う作業の備忘録です。
Stata付属の有名サンプルデータautoを使ってすぐにでも
試せるように書きました。Stata12.1を使っています。
【連続量をカテゴリに変換,カットオフ分割】
変数作成(拡張版)のegenを使います。詳しくは,マニュアルの
[D] egen - Extensions to generate (p167-)
メニューでは
以下がコマンドです。確認手法を含めて少し冗長に書きましたが,変数作成は
基本的にはegenの行だけです。
詳しくは,以下のUCLAのサイトの説明が丁寧です。
How can I recode continuous variables into groups?
【ダミー変数作成(indicator variables)】
ダミー変数とは,ある変数の値の数だけ,それを表す2値変数(0,1)を
作成するものです(ただし回帰分析に使うときはリファレンスにする値の
2値変数を除く)。これは,Stataでは簡単にできます。度数を確かめる
tabコマンドのオプションにgen(newvar)をつけるだけです。
メニューでは
以下がコマンドです。ここではcpで始まる変数が3つ作成されます。
tab cprice, gen(cp) //上記で作成したcpriceのダミー変数作成
list cprice cp1 cp2 cp3 //ちゃんとできてるか作成した変数のデータセット表示して確認
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
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 //ちゃんとできてるか作成した変数のデータセット表示して確認