[Stata][collapse]数値変数の要約統計量を作成するコマンド

brown wooden ladder leaning on wall stata
Photo by cottonbro studio on Pexels.com

collapse

いつものpdfから。

https://www.stata.com/manuals/dcollapse.pdf

説明

collapseデータセットの要約統計量の生成し、新しいデータセットに置き換えるためのコマンドである。平均、合計、中央値などの要約統計量を計算し、新しいデータセットを作成する。なので、数値変数のみにこのコマンドは適用できる。

クイックスタート

以下のコードは、データセットをv1とv2の平均に置き換える(オプションを指定しないとdefaultで平均が採用される)。

collapse v1 v2

グループごとに要約統計量を計算する場合は、以下のコードになる。

collapse v1 v3, by(catvar)

一気に平均、標準偏差、標準偏差を作成するには以下。

collapse (mean) mena1 = v1 (sd) sd1 = v1 (semean) sem1 = v1

v2が二値変数の場合は以下のコード。

collapse (mean) mean2 = v2 (sebinomial) sem2 = v2

頻度や中央値、分位は以下。

collapse (count) freq = v1 (p50) p50 = v1 (iqr) iqr = v1

重み付けした平均や、重み付けしない平均は以下。

collapse (sum) weighted = v2 (rawsum) unweighted = v2 [fweight = wvar]

構文

用いることのできる要約統計量は以下。

Stataコード意味
mean平均値(default)
median中央値
p11stパーセンタイル
p22ndパーセンタイル
p5050thパーセンタイル
p9898thパーセンタイル
p9999thパーセンタイル
sd標準偏差
sem(ean)標準誤差\(sd/\sqrt{n}\)
seb(inomial)二値変数の標準誤差\(\sqrt{p(1-p)}/n\)
sep(oisson)ポワソン分布の標準誤差\(\sqrt{mean/n}\)
sum合計
rawsum重み0の観察は除外される以外は、オプションで指定された重みを無視して合計。
count欠損のない観察値
percent欠損値のない観察値の割合
max最大値
min最小値
iqr分位幅
first最初の値
last最後の値
firstnm最初の欠損でない値
lastnm最後の欠損でない値
要約統計量一覧

オプション

Stataコード説明
by(varlist)統計量が計算されるグループの指定
cwすべての可能な観察のかわりに、ケースごとので削除
fast“break”を入力しても元のデータセットを復元しない
使用可能オプション

少し説明が追加されていた。

by(varlist) は、平均などが計算されるグループを指定する。このオプションが指定されない場合、結果のデータセットには1つの観察値のみが含まれる。このオプションが指定された場合、 varlist は文字列または数値の変数を指す。

cw はケースごとの削除を指定する。cw が指定されない場合、すべての可能なオブザベーションが各計算統計量に使用される。

以下のオプションはcollapseで使用可能であるが、ダイアログボックスには表示されない。fastは、ユーザーがBreakを押しても、collapseが元のデータセットを復元しないように指定する。

具体例

PDFの最初のデータセットはリンク切れになってたので、以下を用いる。まずはデータセットのimport。

use https://www.stata-press.com/data/r18/census5, clear

describeで確認。

describe

Contains data from https://www.stata-press.com/data/r18/census5.dta
  obs:            50                          1980 Census data by state
 vars:             7                          6 Apr 2022 15:43
--------------------------------------------------------------------------------------------------------
              storage   display    value
variable name   type    format     label      variable label
--------------------------------------------------------------------------------------------------------
state           str14   %14s                  State
state2          str2    %-2s                  Two-letter state abbreviation
region          int     %8.0g      cenreg     Census region
pop             long    %10.0g                Population
median_age      float   %9.2f                 Median age
marriage_rate   float   %9.0g                 
divorce_rate    float   %9.0g                 
--------------------------------------------------------------------------------------------------------
Sorted by: region

米国の州の地域における結婚率と離婚率のデータセットである。

collapse (median) median_age marriage divorce (mean) avegmrate = marriage avgdrate = divorce [aw = pop], by(region)

 list

     +----------------------------------------------------------------+
     |  region   median~e   marria~e   divorc~e   avegmr~e   avgdrate |
     |----------------------------------------------------------------|
  1. |      NE      31.90   .0080657   .0035295   .0081472   .0035359 |
  2. | N Cntrl      29.90   .0093821   .0048636   .0096701    .004961 |
  3. |   South      29.60   .0112609   .0065792   .0117082   .0059439 |
  4. |    West      29.90   .0089093   .0056423   .0125199   .0063464 |
     +----------------------------------------------------------------+

これもdescribeで確認。

 describe

Contains data
  obs:             4                          1980 Census data by state
 vars:             6                          
--------------------------------------------------------------------------------------------------------
              storage   display    value
variable name   type    format     label      variable label
--------------------------------------------------------------------------------------------------------
region          int     %8.0g      cenreg     Census region
median_age      float   %9.2f                 (p 50) median_age
marriage_rate   float   %9.0g                 (p 50) marriage_rate
divorce_rate    float   %9.0g                 (p 50) divorce_rate
avegmrate       float   %9.0g                 (mean) marriage_rate
avgdrate        float   %9.0g                 (mean) divorce_rate
--------------------------------------------------------------------------------------------------------
Sorted by: region
     Note: Dataset has changed since last saved.

注意事項

データセットが置き換えられてしまうので、まず”preserve”をしてから、元のデータセットを用いる場合は”restore”すると良い。

preserve
collapse (mean) mena1 = v1 (sd) sd1 = v1 (semean) sem1 = v1
...

restore

関連記事

generateで変数を作る、あるいは置き換えたり削除する方法
Stataのegen rowtotalで変数を作るときの注意点
Stataでのdummy変数の生成
2つの変数をまとめる
グループごとの人数を集計するコマンド
Stataで偏差値を作成するコマンド

コメント

タイトルとURLをコピーしました